using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Bot.AdaptiveExpressions.Core.Properties;
using Microsoft.Bot.AdaptiveExpressions.Core;
using System.Diagnostics;
using System;
using Microsoft.Bot.AdaptiveExpressions.Core.Memory;
using System.Collections;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using System.Text.Json;

namespace AdaptiveCards.Templating.Test
{
    [TestClass]
    public sealed partial class TestTemplate
    {
        [TestMethod]
        public void TestPerf()
        {
            // Test with very large data
            string jsonTemplate = @"{
  ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
  ""type"": ""AdaptiveCard"",
  ""originator"": ""b3bb9c26-77fc-4694-a14d-e5b9c2fffc73"",
  ""correlationId"": null,
  ""constrainWidth"": true,
  ""version"": ""1.0"",
  ""fallbackText"": ""This device does not support yet, please upgrade your outlook version"",
  ""hideOriginalBody"": true,
  ""autoInvokeAction"": {
    ""type"": ""Action.Http"",
    ""method"": ""POST"",
    ""hideCardOnInvoke"": true,
    ""url"": ""#MSApprovalsCoreServiceURL#/api/v1/AutoRefresh/#TenantId#?SessionId=#SessionId#"",
    ""body"": ""{\""ApproverList\"":\""#ApproverList#\"",\""DocumentNumber\"":\""#ApprovalIdentifier.DisplayDocumentNumber#\"", \""RequestVersion\"": \""#RequestVersion#\""}""
  },
  ""autoInvokeOptions"": {
    ""showCardOnFailure"": true
  },
  ""body"": [
    {
      ""type"": ""Container"",
      ""style"": ""emphasis"",
      ""verticalContentAlignment"": ""Center"",
      ""id"": ""MSAHeader"",
      ""items"": [
        {
          ""type"": ""TextBlock"",
          ""speak"": ""Approvals"",
          ""text"": ""Approvals"",
          ""weight"": ""Bolder"",
          ""size"": ""ExtraLarge"",
          ""horizontalAlignment"": ""Center""
        },
        {
          ""type"": ""TextBlock"",
          ""text"": ""${AppName}"",
          ""weight"": ""Bolder"",
          ""horizontalAlignment"": ""Center""
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""items"": [
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": ""auto"",
              ""verticalContentAlignment"": ""center"",
              ""items"": [
                {
                  ""type"": ""Image"",
                  ""url"": """",
                  ""style"": ""Person"",
                  ""size"": ""small"",
                  ""horizontalAlignment"": ""Left"",
                  ""altText"": """"
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""width"": ""stretch"",
              ""verticalContentAlignment"": ""center"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${Submitter.Name}"",
                  ""weight"": ""Bolder"",
                  ""wrap"": true,
                  ""size"": ""Large"",
                  ""spacing"": ""Small""
                },
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${ApprovalIdentifier.DisplayDocumentNumber}"",
                  ""wrap"": true,
                  ""isSubtle"": true,
                  ""spacing"": ""Small""
                },
                {
                  ""type"": ""TextBlock"",
                  ""$when"": ""${and(exists(DetailPageURL), DetailPageURL != '')}"",
                  ""text"": ""[View details in ${ToolName}](${DetailPageURL})""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${Title}"",
                  ""size"": ""None"",
                  ""wrap"": true,
                  ""spacing"": ""Small""
                },
                {
                  ""type"": ""TextBlock"",
                  ""$when"": ""${and(exists(CustomAttribute), CustomAttribute.CustomAttributeValue != '')}"",
                  ""text"": ""${CustomAttribute.CustomAttributeValue}"",
                  ""size"": ""Small"",
                  ""wrap"": true,
                  ""spacing"": ""Small""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""Container"",
          ""id"": ""ApproverNotesSection"",
          ""$when"": ""${and(exists(ApproverNotes), ApproverNotes != '')}"",
          ""style"": ""emphasis"",
          ""spacing"": ""Small"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""text"": ""Notes: ${ApproverNotes}"",
              ""size"": ""Small"",
              ""wrap"": true
            }
          ]
        },
        {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""Image"",
              ""url"": ""https://msapprovalsdevenv.blob.core.windows.net/outlookactionableemailicons/money-icon.png?sv=2015-12-11&sr=c&sig=HCMADhx7xD3%2F6fA8viVd3f3vcwGp%2BNc25XgiSZCNcIE%3D&se=2021-03-02T08%3A26%3A06Z&sp=r"",
              ""size"": ""Small"",
              ""horizontalAlignment"": ""Center"",
              ""spacing"": ""None"",
              ""altText"": """"
            },
            {
              ""type"": ""TextBlock"",
              ""text"": ""${UnitValue} ${UnitOfMeasure}"",
              ""weight"": ""Bolder"",
              ""color"": ""Accent"",
              ""size"": ""Large"",
              ""spacing"": ""None"",
              ""horizontalAlignment"": ""Center""
            },
            {
              ""type"": ""TextBlock"",
              ""text"": ""Total expense amount"",
              ""size"": ""Small"",
              ""isSubtle"": true,
              ""spacing"": ""None"",
              ""horizontalAlignment"": ""Center""
            }
          ]
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""style"": ""emphasis"",
      ""items"": [
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Delegate Submitter"",
                  ""weight"": ""Lighter""
                }
              ],
              ""width"": ""1""
            },
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${AdditionalData.MS_IT_Submitter}"",
                  ""horizontalAlignment"": ""Right""
                }
              ],
              ""width"": ""1""
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""$when"": ""${AdditionalData.MS_IT_PreApprovalNumber != ''}"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Pre-Approval Number"",
                  ""weight"": ""Lighter""
                }
              ],
              ""width"": ""1""
            },
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${AdditionalData.MS_IT_PreApprovalNumber}"",
                  ""horizontalAlignment"": ""Right""
                }
              ],
              ""width"": ""1""
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Submitted Date"",
                  ""weight"": ""Lighter""
                }
              ],
              ""width"": ""1""
            },
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""{{DATE(${formatDateTime(SubmittedDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                  ""horizontalAlignment"": ""Right""
                }
              ],
              ""width"": ""1""
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Status"",
                  ""weight"": ""Lighter""
                }
              ],
              ""width"": ""1""
            },
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Pending Approval"",
                  ""color"": ""warning"",
                  ""horizontalAlignment"": ""Right""
                }
              ],
              ""width"": ""1""
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""$data"": ""${Approvers}"",
          ""id"": ""ApprovalHierarchy${$index}"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${Type} Approver"",
                  ""weight"": ""Lighter""
                }
              ],
              ""width"": ""2""
            },
            {
              ""type"": ""Column"",
              ""id"": ""ActionDetail${$index}"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${Name} (${Alias})"",
                  ""wrap"": true,
                  ""horizontalAlignment"": ""Right""
                },
                {
                  ""type"": ""TextBlock"",
                  ""id"": ""Action${$index}"",
                  ""$when"": ""${Action != ''}"",
                  ""text"": ""${Action} on {{DATE(${formatDateTime(ActionDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                  ""wrap"": true,
                  ""horizontalAlignment"": ""Right"",
                  ""spacing"": ""None""
                }
              ],
              ""width"": ""3""
            },
            {
              ""type"": ""Column"",
              ""verticalContentAlignment"": ""Center"",
              ""id"": ""approverStatusIcons${$index}"",
              ""items"": [
                {
                  ""type"": ""Image"",
                  ""$when"": ""${or(equals(Action, 'Approval'), equals(Action, 'Complete'))}"",
                  ""url"": ""https://msapprovalsdevenv.blob.core.windows.net/outlookactionableemailicons/greenTick.png?sv=2015-12-11&sr=c&sig=HCMADhx7xD3%2F6fA8viVd3f3vcwGp%2BNc25XgiSZCNcIE%3D&se=2021-03-02T08%3A26%3A06Z&sp=r"",
                  ""horizontalAlignment"": ""Center"",
                  ""altText"": """"
                },
                {
                  ""type"": ""Image"",
                  ""$when"": ""${and(equals(Action, ''), not(_future))}"",
                  ""url"": ""https://msapprovalsdevenv.blob.core.windows.net/outlookactionableemailicons/refresh.png?sv=2015-12-11&sr=c&sig=HCMADhx7xD3%2F6fA8viVd3f3vcwGp%2BNc25XgiSZCNcIE%3D&se=2021-03-02T08%3A26%3A06Z&sp=r"",
                  ""horizontalAlignment"": ""Center"",
                  ""altText"": """"
                },
                {
                  ""type"": ""Image"",
                  ""$when"": ""${Action == 'Rejection'}"",
                  ""url"": ""https://msapprovalsdevenv.blob.core.windows.net/outlookactionableemailicons/error.png?sv=2015-12-11&sr=c&sig=HCMADhx7xD3%2F6fA8viVd3f3vcwGp%2BNc25XgiSZCNcIE%3D&se=2021-03-02T08%3A26%3A06Z&sp=r"",
                  ""horizontalAlignment"": ""Center"",
                  ""altText"": """"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""id"": ""dataToToggle"",
      ""items"": [
        {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""text"": ""## Line Items ##"",
              ""size"": ""Medium"",
              ""weight"": ""Bolder""
            }
          ]
        },
        {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""Container"",
              ""separator"": true,
              ""$data"": ""${LineItems}"",
              ""items"": [
                {
                  ""type"": ""ColumnSet"",
                  ""id"": ""LineItemHeader${$index}"",
                  ""columns"": [
                    {
                      ""type"": ""Column"",
                      ""items"": [
                        {
                          ""type"": ""ColumnSet"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""id"": ""ReceiptsRequiredHeader${$index}"",
                              ""verticalContentAlignment"": ""Center"",
                              ""width"": ""1"",
                              ""items"": [
                                {
                                  ""$when"": ""${ReceiptsRequired}"",
                                  ""type"": ""Image"",
                                  ""url"": """",
                                  ""horizontalAlignment"": ""Center"",
                                  ""altText"": """"
                                },
                                {
                                  ""isVisible"": false,
                                  ""type"": ""TextBlock"",
                                  ""text"": """"
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": ""14"",
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Transaction Date"",
                                  ""wrap"": true
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""{{DATE(${formatDateTime(TransDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                  ""color"": ""Accent"",
                                  ""wrap"": true,
                                  ""spacing"": ""None""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": ""13"",
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Category""
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${MS_IT_ExpSubCategory}"",
                                  ""color"": ""Accent"",
                                  ""wrap"": true,
                                  ""spacing"": ""None""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": ""10"",
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Amount""
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${AmountMST} ${MS_IT_ExchangeCode}"",
                                  ""color"": ""Accent"",
                                  ""wrap"": true,
                                  ""spacing"": ""None""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": ""auto"",
                              ""items"": [
                                {
                                  ""type"": ""Image"",
                                  ""url"": """",
                                  ""altText"": ""Expand items""
                                }
                              ],
                              ""selectAction"": {
                                ""targetElements"": [
                                  ""LineItem${$index}"",
                                  ""LineItemsUp${$index}"",
                                  ""LineItemsDown${$index}""
                                ],
                                ""type"": ""Action.ToggleVisibility""
                              },
                              ""verticalContentAlignment"": ""Center"",
                              ""id"": ""LineItemsDown${$index}""
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": ""auto"",
                              ""items"": [
                                {
                                  ""type"": ""Image"",
                                  ""url"": """",
                                  ""altText"": ""Collapse items""
                                }
                              ],
                              ""selectAction"": {
                                ""targetElements"": [
                                  ""LineItem${$index}"",
                                  ""LineItemsUp${$index}"",
                                  ""LineItemsDown${$index}""
                                ],
                                ""type"": ""Action.ToggleVisibility""
                              },
                              ""verticalContentAlignment"": ""Center"",
                              ""id"": ""LineItemsUp${$index}"",
                              ""isVisible"": false
                            }
                          ]
                        }
                      ],
                      ""width"": ""stretch""
                    }
                  ]
                },
                {
                  ""type"": ""ColumnSet"",
                  ""isVisible"": false,
                  ""id"": ""LineItem${$index}"",
                  ""columns"": [
                    {
                      ""type"": ""Column"",
                      ""width"": ""stretch"",
                      ""items"": [
                        {
                          ""type"": ""Container"",
                          ""style"": ""emphasis"",
                          ""items"": [
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${TransDate != ''}"",
                              ""id"": ""TransDate${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Transaction Date:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""{{DATE(${formatDateTime(TransDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${MS_IT_ExpSubCategory != ''}"",
                              ""id"": ""MS_IT_ExpSubCategory${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Category:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${MS_IT_ExpSubCategory}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${AmountMST != ''}"",
                              ""id"": ""AmountMST${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Amount:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${AmountMST} ${MS_IT_ExchangeCode}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${AmountCurr != ''}"",
                              ""id"": ""AmountCurr${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Transaction Amount:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${AmountCurr} ${ExchangeCode}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${ExchangeRate != ''}"",
                              ""id"": ""ExchangeRate${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Exchange Rate:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${string(ExchangeRate)}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${MS_IT_GLAccount != ''}"",
                              ""id"": ""MS_IT_GLAccount${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""GL Code:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${MS_IT_GLAccount}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${MS_IT_CodeValue != ''}"",
                              ""id"": ""MS_IT_CodeValue${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""CC/IO:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${MS_IT_CodeValue}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${PayMethod != ''}"",
                              ""id"": ""PayMethod${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Payment Method:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${PayMethod}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${MerchantID != ''}"",
                              ""id"": ""MerchantID${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Merchant:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${MerchantID}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${ExpenseDetails != ''}"",
                              ""id"": ""ExpenseDetails${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Additional Info:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${ExpenseDetails}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""wrap"": true,
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""$when"": ""${Project != ''}"",
                              ""id"": ""Project${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Project Name:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${Project}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""wrap"": true,
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            },
                            {
                              ""type"": ""ColumnSet"",
                              ""id"": ""Billable${$index}"",
                              ""columns"": [
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""Billable:"",
                                      ""weight"": ""Lighter"",
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                },
                                {
                                  ""type"": ""Column"",
                                  ""items"": [
                                    {
                                      ""type"": ""TextBlock"",
                                      ""text"": ""${if(Billable == true, 'Yes', 'No')}"",
                                      ""horizontalAlignment"": ""Right"",
                                      ""wrap"": true,
                                      ""size"": ""Small""
                                    }
                                  ],
                                  ""width"": ""1""
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""id"": ""ReceiptsRequired${$index}"",
                          ""$when"": ""${ReceiptsRequired}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""items"": [
                                {
                                  ""type"": ""Image"",
                                  ""url"": """",
                                  ""altText"": """"
                                }
                              ],
                              ""width"": ""1""
                            },
                            {
                              ""type"": ""Column"",
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Receipts Required""
                                }
                              ],
                              ""width"": ""20""
                            }
                          ]
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""id"": ""PolicyViolation${$index}"",
                          ""$when"": ""${PolicyViolation != ''}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""Image"",
                                          ""altText"": """",
                                          ""url"": """"
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Policies""
                                        }
                                      ],
                                      ""width"": ""20""
                                    }
                                  ]
                                },
                                {
                                  ""size"": ""Small"",
                                  ""text"": ""${PolicyViolation}"",
                                  ""weight"": ""Lighter"",
                                  ""wrap"": true,
                                  ""spacing"": ""None"",
                                  ""type"": ""TextBlock"",
                                  ""width"": ""auto""
                                },
                                {
                                  ""size"": ""Small"",
                                  ""text"": ""${EmployeeJustification}"",
                                  ""weight"": ""Lighter"",
                                  ""wrap"": true,
                                  ""spacing"": ""None"",
                                  ""type"": ""TextBlock"",
                                  ""width"": ""auto""
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""id"": ""AirlineServiceClass${$index}"",
                          ""$when"": ""${AirlineServiceClass != ''}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""Image"",
                                          ""altText"": """",
                                          ""url"": """"
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Airfare Details""
                                        }
                                      ],
                                      ""width"": ""20""
                                    }
                                  ]
                                },
                                {
                                  ""size"": ""Small"",
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Service Class:"",
                                  ""weight"": ""Lighter"",
                                  ""wrap"": true,
                                  ""spacing"": ""None"",
                                  ""width"": ""auto""
                                },
                                {
                                  ""size"": ""Small"",
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${AirlineServiceClass}"",
                                  ""wrap"": true,
                                  ""spacing"": ""None"",
                                  ""width"": ""auto""
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""id"": ""MilageKMOwnCar${$index}"",
                          ""$when"": ""${MilageKMOwnCar > 0}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""Image"",
                                          ""url"": """",
                                          ""altText"": """"
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Mileage Details""
                                        }
                                      ],
                                      ""width"": ""20""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""size"": ""Small"",
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Mileage:"",
                                          ""weight"": ""Lighter"",
                                          ""wrap"": true,
                                          ""spacing"": ""None"",
                                          ""width"": ""auto""
                                        },
                                        {
                                          ""size"": ""Small"",
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${string(MilageKMOwnCar)}"",
                                          ""wrap"": true,
                                          ""spacing"": ""None"",
                                          ""width"": ""auto""
                                        }
                                      ],
                                      ""width"": ""auto""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""size"": ""Small"",
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Vehicle type:"",
                                          ""weight"": ""Lighter"",
                                          ""wrap"": true,
                                          ""spacing"": ""None"",
                                          ""width"": ""auto""
                                        },
                                        {
                                          ""size"": ""Small"",
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${MilageVehicleType}"",
                                          ""wrap"": true,
                                          ""spacing"": ""None"",
                                          ""width"": ""auto""
                                        }
                                      ],
                                      ""width"": ""auto""
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""$data"": ""${Children}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Itemize category"",
                                  ""wrap"": true,
                                  ""isSubtle"": true
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${MS_IT_ExpSubCategory}"",
                                  ""wrap"": true,
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Date"",
                                  ""isSubtle"": true
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""{{DATE(${formatDateTime(TransDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": 1,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Amount"",
                                  ""isSubtle"": true,
                                  ""wrap"": true
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${AmountMST} ${MS_IT_ExchangeCode}"",
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""TextBlock"",
                          ""$when"": ""${not(empty(GuestDetails))}"",
                          ""text"": ""Guest Details"",
                          ""weight"": ""Bolder""
                        },
                        {
                          ""type"": ""ColumnSet"",
                          ""$data"": ""${GuestDetails}"",
                          ""columns"": [
                            {
                              ""type"": ""Column"",
                              ""width"": 17,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Guest ID"",
                                  ""wrap"": true
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${GuestId}"",
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": 17,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Org / Country""
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${Organization}"",
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            },
                            {
                              ""type"": ""Column"",
                              ""width"": 17,
                              ""items"": [
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""Title""
                                },
                                {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${Title}"",
                                  ""size"": ""Small"",
                                  ""spacing"": ""None"",
                                  ""weight"": ""Lighter""
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""Container"",
                          ""id"": ""DistributionDetail${$index}"",
                          ""$when"": ""${not(empty(DistributionDetails))}"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""Distribution Details"",
                              ""weight"": ""Bolder""
                            },
                            {
                              ""type"": ""Container"",
                              ""$data"": ""${DistributionDetails}"",
                              ""items"": [
                                {
                                  ""type"": ""Container"",
                                  ""items"": [
                                    {
                                      ""type"": ""Container"",
                                      ""items"": [
                                        {
                                          ""type"": ""ColumnSet"",
                                          ""columns"": [
                                            {
                                              ""type"": ""Column"",
                                              ""items"": [
                                                {
                                                  ""type"": ""ColumnSet"",
                                                  ""columns"": [
                                                    {
                                                      ""type"": ""Column"",
                                                      ""width"": 2,
                                                      ""items"": [
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""CC/IO"",
                                                          ""wrap"": true
                                                        },
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""${MS_IT_CodeValue}"",
                                                          ""color"": ""Accent"",
                                                          ""spacing"": ""None""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""Column"",
                                                      ""width"": 2,
                                                      ""items"": [
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""Percent""
                                                        },
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""${AllocationFactor}"",
                                                          ""color"": ""Accent"",
                                                          ""spacing"": ""None""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""Column"",
                                                      ""width"": 2,
                                                      ""items"": [
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""Amount""
                                                        },
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""${TransactionCurrencyAmount} ${TransactionCurrency}"",
                                                          ""color"": ""Accent"",
                                                          ""spacing"": ""None""
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ],
                                              ""width"": ""stretch""
                                            }
                                          ]
                                        },
                                        {
                                          ""type"": ""Container"",
                                          ""style"": ""emphasis"",
                                          ""items"": [
                                            {
                                              ""type"": ""ColumnSet"",
                                              ""columns"": [
                                                {
                                                  ""type"": ""Column"",
                                                  ""width"": ""stretch"",
                                                  ""items"": [
                                                    {
                                                      ""type"": ""ColumnSet"",
                                                      ""columns"": [
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""Project ID:"",
                                                              ""weight"": ""Lighter"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        },
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""${ProjName}"",
                                                              ""horizontalAlignment"": ""Right"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""ColumnSet"",
                                                      ""columns"": [
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""Billable:"",
                                                              ""weight"": ""Lighter"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        },
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""${if(Billable > 0, 'Yes', 'No')}"",
                                                              ""horizontalAlignment"": ""Right"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        },
                        {
                          ""type"": ""Container"",
                          ""id"": ""PerDiemDetail${$index}"",
                          ""$when"": ""${not(empty(PerdiemDetails))}"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""Per Diem Details"",
                              ""weight"": ""Bolder""
                            },
                            {
                              ""type"": ""Container"",
                              ""style"": ""emphasis"",
                              ""items"": [
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Per diem from date:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""{{DATE(${formatDateTime(DateFrom, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Per diem to date:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""{{DATE(${formatDateTime(DateTo, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Location:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${Location}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Breakfast:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${string(DeductionBreakfast)}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Lunch:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${string(DeductionLunch)}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Dinner:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${string(DeductionDinner)}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Meal Reduction:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${Deduction} ${MS_IT_ExchangeCode}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                },
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""Amount:"",
                                          ""weight"": ""Lighter"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    },
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""TextBlock"",
                                          ""text"": ""${AmountCurr} ${ExchangeCode}"",
                                          ""horizontalAlignment"": ""Right"",
                                          ""size"": ""Small""
                                        }
                                      ],
                                      ""width"": ""1""
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              ""type"": ""Container"",
                              ""style"": ""emphasis"",
                              ""items"": [
                                {
                                  ""type"": ""ColumnSet"",
                                  ""columns"": [
                                    {
                                      ""type"": ""Column"",
                                      ""items"": [
                                        {
                                          ""type"": ""ColumnSet"",
                                          ""style"": ""emphasis"",
                                          ""columns"": [
                                            {
                                              ""type"": ""Column"",
                                              ""items"": [],
                                              ""width"": ""1""
                                            },
                                            {
                                              ""type"": ""Column"",
                                              ""items"": [],
                                              ""width"": ""1""
                                            }
                                          ]
                                        }
                                      ],
                                      ""width"": ""stretch""
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              ""type"": ""Container"",
                              ""$data"": ""${PerdiemDetails}"",
                              ""items"": [
                                {
                                  ""type"": ""Container"",
                                  ""items"": [
                                    {
                                      ""type"": ""Container"",
                                      ""items"": [
                                        {
                                          ""type"": ""ColumnSet"",
                                          ""columns"": [
                                            {
                                              ""type"": ""Column"",
                                              ""items"": [
                                                {
                                                  ""type"": ""ColumnSet"",
                                                  ""columns"": [
                                                    {
                                                      ""type"": ""Column"",
                                                      ""width"": 1,
                                                      ""items"": [
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""Transaction Date"",
                                                          ""wrap"": true
                                                        },
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""{{DATE(${formatDateTime(TransDate, 'yyyy-MM-ddTHH:mm:ssZ')}, COMPACT)}}"",
                                                          ""color"": ""Accent"",
                                                          ""spacing"": ""None""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""Column"",
                                                      ""width"": 1,
                                                      ""items"": [
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""Meal Reduction"",
                                                          ""wrap"": true
                                                        },
                                                        {
                                                          ""type"": ""TextBlock"",
                                                          ""text"": ""${MealDeduction} ${CurrencyCode}"",
                                                          ""color"": ""Accent"",
                                                          ""spacing"": ""None""
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ],
                                              ""width"": ""stretch""
                                            }
                                          ]
                                        },
                                        {
                                          ""type"": ""Container"",
                                          ""style"": ""emphasis"",
                                          ""items"": [
                                            {
                                              ""type"": ""ColumnSet"",
                                              ""columns"": [
                                                {
                                                  ""type"": ""Column"",
                                                  ""width"": ""stretch"",
                                                  ""items"": [
                                                    {
                                                      ""type"": ""ColumnSet"",
                                                      ""columns"": [
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""Breakfast:"",
                                                              ""weight"": ""Lighter"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        },
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""${string(NumberOfBreakfast)}"",
                                                              ""horizontalAlignment"": ""Right"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""ColumnSet"",
                                                      ""columns"": [
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""Lunch:"",
                                                              ""weight"": ""Lighter"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        },
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""${string(NumberOfLunch)}"",
                                                              ""horizontalAlignment"": ""Right"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        }
                                                      ]
                                                    },
                                                    {
                                                      ""type"": ""ColumnSet"",
                                                      ""columns"": [
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""Dinner:"",
                                                              ""weight"": ""Lighter"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        },
                                                        {
                                                          ""type"": ""Column"",
                                                          ""items"": [
                                                            {
                                                              ""type"": ""TextBlock"",
                                                              ""text"": ""${string(NumberOfDinner)}"",
                                                              ""horizontalAlignment"": ""Right"",
                                                              ""size"": ""Small""
                                                            }
                                                          ],
                                                          ""width"": ""auto""
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""separator"": true,
      ""items"": [
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": 2,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Total expense amount"",
                  ""weight"": ""Lighter"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""width"": 1,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${UnitValue} ${UnitOfMeasure}"",
                  ""weight"": ""Lighter"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": 2,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Personal expense"",
                  ""weight"": ""Lighter"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""width"": 1,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${AdditionalData.MS_IT_PersonalAmount} ${UnitOfMeasure}"",
                  ""weight"": ""Lighter"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": 2,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""To be reimbursed"",
                  ""size"": ""Medium"",
                  ""weight"": ""Lighter"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""width"": 1,
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""${UnitValue} ${UnitOfMeasure}"",
                  ""size"": ""Medium"",
                  ""weight"": ""Bolder"",
                  ""horizontalAlignment"": ""Right""
                }
              ]
            }
          ]
        }
      ]
    },
    {
      ""type"": ""ColumnSet"",
      ""columns"": [
        {
          ""type"": ""Column"",
          ""width"": ""auto"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""size"": ""Small"",
              ""text"": ""**Compliance Acknowledgement** - **By approving this expense report, I confirm that:** I have reviewed these expenses and associated receipts for business appropriateness and legitimacy, and confirm that these expenses comply with Microsoft's [Employee Expense Reimbursement Policy](https://aka.ms/eerp) requirements.\nIf any of these expenses relate to payments for or on behalf of [Government Officials](https://microsoft.sharepoint.com/sites/lcaweb/Home/Business-Conduct-and-Compliance/Government-Officials-and-Anti-Corruption/Identify-a-Government-Official), I have also reviewed these expenses and confirm that they comply with Microsoft's [Anti-Corruption Policy](https://aka.ms/a-c) and any identified questions or discrepancies with the expense report have been discussed with the employee directly, and have been resolved appropriately."",
              ""wrap"": true
            }
          ]
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""style"": ""emphasis"",
      ""items"": [
        {
          ""type"": ""ColumnSet"",
          ""id"": ""receiptAcknowledgementBlock"",
          ""$when"": ""${AdditionalData.MS_IT_ReceiptsRequired == 'True'}"",
          ""spacing"": ""None"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""type"": ""Input.ChoiceSet"",
                  ""isMultiSelect"": true,
                  ""isRequired"": true,
                  ""id"": ""receiptsAcknowledged"",
                  ""choices"": [
                    {
                      ""title"": "" "",
                      ""value"": ""false"",
                      ""isSelected"": false,
                      ""speak"": null
                    }
                  ]
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""spacing"": ""Small"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""size"": ""Small"",
                  ""text"": ""Receipt Acknowledgment - I have reviewed the required receipts attached to this report."",
                  ""weight"": ""Lighter"",
                  ""wrap"": true,
                  ""spacing"": ""None"",
                  ""width"": ""auto""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""id"": ""antiCorruptionAcknowledgementBlock"",
          ""$when"": ""${AdditionalData.MS_IT_AntiCorruption == 'True'}"",
          ""spacing"": ""None"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""items"": [
                {
                  ""isMultiSelect"": true,
                  ""isRequired"": true,
                  ""id"": ""antiCorruptionAcknowledged"",
                  ""type"": ""Input.ChoiceSet"",
                  ""choices"": [
                    {
                      ""title"": "" "",
                      ""value"": ""false"",
                      ""isSelected"": false,
                      ""speak"": null
                    }
                  ]
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""spacing"": ""Small"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""size"": ""Small"",
                  ""text"": ""Anti-Corruption - I have reviewed the expenses and confirm that they comply with Microsoft�s Anti-corruption policies."",
                  ""weight"": ""Lighter"",
                  ""wrap"": true,
                  ""spacing"": ""None"",
                  ""width"": ""auto""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""Input.Text"",
          ""id"": ""rejectComment"",
          ""isMultiline"": true,
          ""maxLength"": 1000,
          ""placeholder"": ""Notes (optional) - Max 1000 characters""
        },
        {
          ""id"": ""approveAction"",
          ""horizontalAlignment"": ""Left"",
          ""type"": ""ActionSet"",
          ""actions"": [
          ]
        }
      ]
    },
    {
      ""type"": ""Container"",
      ""style"": ""emphasis"",
      ""items"": [
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": ""stretch"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""size"": ""Small"",
                  ""wrap"": true,
                  ""text"": ""[Same request can be viewed at MSApprovals Website](#MSApprovalsDetailPage#)""
                }
              ]
            },
            {
              ""type"": ""Column"",
              ""width"": ""stretch"",
              ""items"": [
                {
                  ""horizontalAlignment"": ""Right"",
                  ""type"": ""TextBlock"",
                  ""size"": ""Small"",
                  ""text"": ""[Share feedback](https://microsoftit.uservoice.com/forums/598696-msapprovals)""
                }
              ]
            }
          ]
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": ""stretch"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""size"": ""Small"",
                  ""wrap"": true,
                  ""text"": ""** This is an automatically generated email, please do not reply or forward to this alias. **""
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}";

            string jsonData = @"{
  ""DocumentTypeId"": ""e645b540-c621-4a33-a7a5-22319c873d1b"",
  ""Title"": ""Test ER 1"",
  ""UnitValue"": ""93.50"",
  ""UnitOfMeasure"": ""USD"",
  ""SubmittedDate"": ""2020-01-07T00:00:00"",
  ""DetailPageURL"": null,
  ""CompanyCode"": ""1010"",
  ""ApprovalIdentifier"": {
    ""DisplayDocumentNumber"": ""ER-0000014644286"",
    ""DocumentNumber"": ""{86A6DFDD-C570-44A7-923E-C36F3912BB25}"",
    ""FiscalYear"": null
  },
  ""Submitter"": {
    ""Alias"": ""japarame"",
    ""Name"": ""Jaya Prathap Parameswaran""
  },
  ""CustomAttribute"": {
    ""CustomAttributeName"": ""Description"",
    ""CustomAttributeValue"": ""test ER for outlook emails verification""
  },
  ""ApprovalHierarchy"": [
    {
      ""Approvers"": [
        {
          ""Alias"": ""niravk"",
          ""Name"": ""Nirav Khandhedia""
        },
        {
          ""Alias"": ""v-gaychi"",
          ""Name"": ""Gayatri Chiplunkar""
        }
      ],
      ""ApproverType"": ""Interim""
    },
    {
      ""Approvers"": [
        {
          ""Alias"": ""sumeetd"",
          ""Name"": ""Sumeet Malhar Deshpande""
        }
      ],
      ""ApproverType"": ""Final""
    }
  ],
  ""ApprovalActionsApplicable"": null,
  ""AdditionalData"": {
    ""MS_IT_Submitter"": ""v-gaychi"",
    ""MS_IT_ReceiptsRequired"": ""True"",
    ""MS_IT_PersonalAmount"": ""5.00"",
    ""MS_IT_Comments"": ""ER submitted"",
    ""MS_IT_PreApprovalNumber"": ""2"",
    ""MS_IT_TotalReceipts"": ""0"",
    ""MS_IT_AntiCorruption"": ""True"",
    ""MS_IT_AmexAmount"": ""0.00"",
    ""MS_IT_OOPAmount"": ""88.50"",
    ""MS_IT_ReceiptsAttached"": ""True"",
    ""MS_IT_Name"": ""Jaya Prathap Parameswaran"",
    ""ApprovalStatus"": ""In review""
  },
  ""Attachments"": [
    {
      ""ID"": ""104"",
      ""Name"": ""JPEGTestFile.jpg"",
      ""Url"": """"
    }
  ],
  ""ApproverNotes"": ""ER submitted"",
  ""RequestVersion"": ""f3959cb0-9aa3-40d2-9d58-55275e10fbc8"",
  ""Approvers"": [
    {
      ""Alias"": ""niravk"",
      ""Name"": ""Nirav Khandhedia"",
      ""ActionDate"": ""2020-01-24T03:57:59+05:30"",
      ""Action"": ""Approval"",
      ""Type"": ""Interim"",
      ""Justification"": """",
      ""Notes"": ""test"",
      ""_future"": false,
      ""DelegateUser"": """"
    },
    {
      ""Alias"": ""v-gaychi"",
      ""Name"": ""Gayatri Chiplunkar"",
      ""Action"": ""Rejection"",
      ""ActionDate"": ""2020-03-30T17:43:33+05:30"",
      ""Type"": ""Interim"",
      ""Justification"": """",
      ""Notes"": """",
      ""_future"": false,
      ""DelegateUser"": """"
    },
    {
      ""Alias"": ""sumeetd"",
      ""Name"": ""Sumeet Malhar Deshpande"",
      ""Action"": """",
      ""Type"": ""Final"",
      ""_future"": false
    }
  ],
  ""Actions"": {
    ""Primary"": [
      {
        ""Condition"": """",
        ""Code"": ""Complete"",
        ""Name"": ""Approve"",
        ""Text"": """",
        ""Justifications"": null,
        ""IsCommentMandatory"": false,
        ""IsJustificationApplicable"": true,
        ""IsInterimStateRequired"": true,
        ""CommentLength"": 1000,
        ""TargetPage"": [
          {
            ""Condition"": """",
            ""PageType"": ""SUMMARY"",
            ""DelayTime"": 0
          }
        ],
        ""Placements"": null,
        ""IsEnabled"": true,
        ""IsBulkAction"": false,
        ""ActionConfirmationMessage"": null,
        ""Comments"": null
      }
    ],
    ""Secondary"": [
      {
        ""Condition"": """",
        ""Code"": ""Deny"",
        ""Name"": ""Reject"",
        ""Text"": ""- Send back to submitter"",
        ""Justifications"": null,
        ""IsCommentMandatory"": false,
        ""IsJustificationApplicable"": true,
        ""IsInterimStateRequired"": true,
        ""CommentLength"": 1000,
        ""TargetPage"": [
          {
            ""Condition"": """",
            ""PageType"": ""SUMMARY"",
            ""DelayTime"": 0
          }
        ],
        ""Placements"": null,
        ""IsEnabled"": true,
        ""IsBulkAction"": false,
        ""ActionConfirmationMessage"": null,
        ""Comments"": null
      },
      {
        ""Condition"": ""IsOutOfSyncChallenged^IsOutOfSyncChallenged == false"",
        ""Code"": ""OutOfSync"",
        ""Name"": ""Out Of Sync"",
        ""Text"": "" - Request is Out of Sync"",
        ""Justifications"": [
          {
            ""Condition"": """",
            ""Code"": ""ActionTakenOnTenantSystem"",
            ""Name"": ""Already taken action on tenant system"",
            ""Key"": null,
            ""Description"": null,
            ""_default"": true
          },
          {
            ""Condition"": """",
            ""Code"": ""Other"",
            ""Name"": ""Other"",
            ""Key"": null,
            ""Description"": null,
            ""_default"": false
          }
        ],
        ""IsCommentMandatory"": false,
        ""IsJustificationApplicable"": true,
        ""IsInterimStateRequired"": true,
        ""CommentLength"": 255,
        ""TargetPage"": [
          {
            ""Condition"": """",
            ""PageType"": """",
            ""DelayTime"": 0
          }
        ],
        ""Placements"": null,
        ""IsEnabled"": true,
        ""IsBulkAction"": false,
        ""ActionConfirmationMessage"": null,
        ""Comments"": null
      }
    ]
  },
  ""AppName"": ""MSExpense 2.0"",
  ""CondensedAppName"": ""MSExpense2.0"",
  ""templateName"": ""MSExpense"",
  ""BusinessProcessName"": ""MSApprovals-MSExpense2.0-{0}-{1}"",
  ""DocumentNumberPrefix"": ""Exp#"",
  ""ToolName"": ""MSExpense 2.0"",
  ""EditableFields"": {

  },
  ""LineItems"": [
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Car Rental"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 7,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Uber"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Car Rental"",
      ""MS_IT_GLAccount"": ""723013"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648593,
      ""TransDate"": ""2019-09-15T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 40.0,
      ""AmountMST"": 40.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Home"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": """",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Home"",
      ""MS_IT_GLAccount"": ""742000"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648594,
      ""TransDate"": ""2019-09-10T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 20.0,
      ""AmountMST"": 20.0,
      ""Billable"": false,
      ""CostType"": ""Broadband - Travel"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test info"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""test2"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Broadband - Travel"",
      ""MS_IT_GLAccount"": ""742016"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648595,
      ""TransDate"": ""2019-09-08T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Cell Phone"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 1,
      ""GuestDetails"": [

      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Samsung"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Cell Phone"",
      ""MS_IT_GLAccount"": ""742001"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Allowable expense thresholds and eligibility vary by country. Before submitting an expense report verify the requirements for your country in the Employee Expense Reimbursement Procedure link http://aka.ms/EERPro;"",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648596,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [

      ],
      ""AirlineServiceClass"": """",
      ""AmountCurr"": 50.0,
      ""AmountMST"": 50.0,
      ""Billable"": false,
      ""CostType"": ""Entertainment"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [
        {
          ""AllocationFactor"": 30.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 15.0
        },
        {
          ""AllocationFactor"": 20.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 10.0
        },
        {
          ""AllocationFactor"": 50.0,
          ""Billable"": 0,
          ""MS_IT_CodeValue"": ""10203599"",
          ""ProjName"": """",
          ""TransactionCurrency"": ""USD"",
          ""TransactionCurrencyAmount"": 25.0
        }
      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test information"",
      ""ExpType"": 9,
      ""GuestDetails"": [
        {
          ""CountryRegion"": """",
          ""GuestId"": ""AAA"",
          ""Organization"": ""IND"",
          ""Title"": ""Mr""
        },
        {
          ""CountryRegion"": """",
          ""GuestId"": ""XYZ"",
          ""Organization"": ""USA"",
          ""Title"": ""Miss""
        }
      ],
      ""LineType"": 0,
      ""Location"": """",
      ""MerchantID"": ""Test Merchant"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Entertainment"",
      ""MS_IT_GLAccount"": ""723010"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": """",
      ""Project"": """",
      ""ReceiptsDetails"": [

      ],
      ""ReceiptsRequired"": false,
      ""RecID"": 5670648586,
      ""TransDate"": ""2019-09-18T12:00:00"",
      ""Children"": [

      ]
    },
    {
      ""Attachments"": [
      ],
      ""AirlineServiceClass"": ""Business class"",
      ""AmountCurr"": 90.0,
      ""AmountMST"": 90.0,
      ""Billable"": false,
      ""CostType"": ""Airfare"",
      ""DateFrom"": ""1900-01-01T00:00:00Z"",
      ""DateTo"": ""1900-01-01T00:00:00Z"",
      ""Deduction"": 0.0,
      ""DeductionBreakfast"": 0.0,
      ""DeductionDinner"": 0.0,
      ""DeductionLunch"": 0.0,
      ""DistributionDetails"": [

      ],
      ""EmployeeJustification"": """",
      ""EntertainmentLocation"": """",
      ""ExchangeCode"": ""USD"",
      ""ExchangeRate"": 1.0,
      ""ExpenseDetails"": ""test"",
      ""ExpType"": 6,
      ""GuestDetails"": [

      ],
      ""LineType"": 1,
      ""Location"": """",
      ""MerchantID"": ""Etihad"",
      ""MilageKMOwnCar"": 0.0,
      ""MilageVehicleType"": """",
      ""MS_IT_CodeValue"": ""10203599"",
      ""MS_IT_ExchangeCode"": ""USD"",
      ""MS_IT_ExpSubCategory"": ""Airfare"",
      ""MS_IT_GLAccount"": ""723009"",
      ""ParentRecID"": 0,
      ""PayMethod"": ""Cash"",
      ""PerdiemDetails"": [

      ],
      ""PolicyViolation"": ""Policy information only: Airfare, Hotel & Car Rental expenses should be paid with the corporate AMEX credit card. Refer to your local T&E policy for any additional mandatory requirements that apply to airline, hotel, car rental expenses.;"",
      ""Project"": """",
      ""ReceiptsDetails"": [
        {
          ""FileName"": ""JPEGTestFile"",
          ""FileType"": ""jpg"",
          ""ReceiptFile"": """",
          ""ReceiptRecId"": 5644202330
        }
      ],
      ""ReceiptsRequired"": true,
      ""RecID"": 5670648589,
      ""TransDate"": ""2019-09-16T12:00:00"",
      ""Children"": [
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 60.0,
          ""AmountMST"": 60.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Airline fare"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648590,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-15T12:00:00""
        },
        {
          ""AirlineServiceClass"": ""Economy class"",
          ""AmountCurr"": 20.0,
          ""AmountMST"": 20.0,
          ""Billable"": false,
          ""CostType"": ""Airfare"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 6,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Misc (baggage and change fee)"",
          ""MS_IT_GLAccount"": ""723009"",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648591,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-18T12:00:00""
        },
        {
          ""AirlineServiceClass"": """",
          ""AmountCurr"": 10.0,
          ""AmountMST"": 10.0,
          ""Billable"": false,
          ""CostType"": ""Personal"",
          ""DateFrom"": ""1900-01-01T00:00:00Z"",
          ""DateTo"": ""1900-01-01T00:00:00Z"",
          ""Deduction"": 0.0,
          ""DeductionBreakfast"": 0.0,
          ""DeductionDinner"": 0.0,
          ""DeductionLunch"": 0.0,
          ""DistributionDetails"": [

          ],
          ""EmployeeJustification"": """",
          ""EntertainmentLocation"": """",
          ""ExchangeCode"": ""USD"",
          ""ExchangeRate"": 1.0,
          ""ExpType"": 5,
          ""ExpenseDetails"": ""test"",
          ""GuestDetails"": [

          ],
          ""LineType"": 2,
          ""Location"": """",
          ""MS_IT_CodeValue"": ""10203599"",
          ""MS_IT_ExchangeCode"": ""USD"",
          ""MS_IT_ExpSubCategory"": ""Personal"",
          ""MS_IT_GLAccount"": """",
          ""MerchantID"": ""Etihad"",
          ""MilageKMOwnCar"": 0.0,
          ""MilageVehicleType"": """",
          ""ParentRecID"": 5670648589,
          ""PayMethod"": ""Cash"",
          ""PerdiemDetails"": [

          ],
          ""PolicyViolation"": """",
          ""Project"": """",
          ""RecID"": 5670648592,
          ""ReceiptsDetails"": [

          ],
          ""ReceiptsRequired"": false,
          ""TransDate"": ""2019-09-16T12:00:00""
        }
      ]
    }
  ],
  ""CallBackURLCollection"": [

  ],
  ""LastFailed"": false,
  ""LastFailedExceptionMessage"": null,
  ""LastFailedOutOfSyncMessage"": null,
  ""IsBackgroundApprovalSupportedUpfront"": false,
  ""IsHistoryClickable"": true,
  ""IsPictorialLineItemsEnabled"": true,
  ""LineItemFilterCategories"": ""{\""filters\"":[{\""MS_IT_ExpSubCategory\"":\""Expense Category\""},{\""AmountMST\"":\""Transaction Amount\""},{\""MerchantID\"":\""Merchant\""},{\""TransDate\"":\""Transaction Date\""},{\""PayMethod\"":\""Payment Method\""},{\""MS_IT_GLAccount\"":\""GL Accounts\""},{\""MS_IT_CodeValue\"":\""Cost Center/Internal Order\""},{\""Billable\"":\""Billable\""}]}""
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };
            string cardJson = transformer.Expand(context);
            var parseResult = AdaptiveCard.FromJson(cardJson);
            Assert.IsTrue(true);
        }

        [TestMethod]
        public void TestBasic()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""person"": {
                    ""firstName"": ""Andrew"",
                    ""lastName"": ""Leader""
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}";

            string jsonData = @"{
    ""person"": {
        ""firstName"": ""Andrew"",
        ""lastName"": ""Leader""
    }
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello Andrew""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestTemplateEscapeDoubleQuotes()
        {
            string jsonTemplate = "{"
     + "\"type\": \"AdaptiveCard\","
     + "\"version\": \"1.0\","
     + "\"$data\": {"
     +            "\"ResultSnippet\": \"Hello\","
     +            "\"ResultSnippetEmpty\": \"\""
     +           "},"
     + "\"body\": ["
     +     "{"
     +        "\"type\": \"TextBlock\","
     +        "\"$when\": \"${ResultSnippet == \\\"Hello\\\"}\","
     +        "\"text\": \"This TextBlock should be present\""
     +    "},"
     +     "{"
     +        "\"type\": \"TextBlock\","
     +        "\"$when\": \"${ResultSnippetEmpty != \\\"\\\"}\","
     +        "\"text\": \"This TextBlock should not be present\""
     +    "}"
     + "]" + "}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            string cardJson = transformer.Expand();

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""This TextBlock should be present""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestNullValueWithoutSubstitution()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""person"": {
                    ""firstName"": null,
                    ""lastName"": ""Leader""
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestNullValueWithSubstitution()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""person"": {
                    ""firstName"": null,
                    ""lastName"": ""Leader""
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();

            string cardJson = transformer.Expand(context, name => "Default First Name");

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello Default First Name""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestComplexAELParsing()
        {
            string jsonTemplate = @"{
  ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
  ""type"": ""AdaptiveCard"",
  ""version"": ""1.0"",
  ""body"": [
    {
      ""type"": ""Container"",
      ""spacing"": ""small"",
      ""selectAction"": {
        ""type"": ""Action.ToggleVisibility"",
        ""title"": ""expand"",
        ""targetElements"": ""${foreach(foreach(indicesAndValues(LineItems), x, concat('cardContent', x.index)), y, json(concat('{ \""elementId\"": \""', y, '\"", \""isVisible\"": true}')))}""
      },
      ""verticalContentAlignment"": ""center"",
      ""items"": [
        {
          ""type"": ""Image"",
          ""id"": ""chevronDown"",
          ""url"": """",
          ""width"": ""20px"",
          ""altText"": ""Details collapsed""
        }
      ],
      ""width"": ""auto""
    }
  ]
}";

            string jsonData = @"{
  ""LineItems"": [
    {
      ""Name"": ""Leonardo DiCaprio""
    },
    {
      ""Name"": ""Bradley Cooper""
    }
  ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            try
            {
                string cardJson = transformer.Expand(context);
            }
            catch
            { 
                // AEL is broken and will throw. Once AEL is fixed, this test case will be fixed
            }
        }

        [TestMethod]
        public void TestDateConversion()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""version"": ""1.0"",
            ""$data"": {
                ""rfc3389"" : ""2017-02-14T06:08:00Z""
             },
            ""body"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""${rfc3389}""
                }
            ]
            }";
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);

            string cardJson = transformer.Expand();

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""2017-02-14T06:08:00Z""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestDateFormatTest()
        {
            string jsonTemplate = @"{
            ""type"" : ""AdaptiveCard"",
            ""$data"": {
                ""date"" : ""03/15/2018 12:00:00""
             },
            ""body"" : [
                {
                ""type"" : ""TextBlock"",
                ""text"" : ""**{{DATE(${formatDateTime(date, 'yyyy-MM-ddTHH:mm:ssZ')}, SHORT)}}**""
                }
            ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);

            string cardJson = transformer.Expand();

            AssertJsonEqual(@"{
    ""type"" : ""AdaptiveCard"",
    ""body"" : [
        {
        ""type"" : ""TextBlock"",
        ""text"" : ""**{{DATE(2018-03-15T12:00:00Z, SHORT)}}**""
        }
    ]
    }", cardJson);
        }

        [TestMethod]
        public void TestBoolConversion()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""version"": ""1.0"",
            ""$data"": {
                ""boolValue"" : true
             },
            ""body"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""Hello"",
                    ""IsVisible"" : true
                }
            ]
            }";
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);

            string cardJson = transformer.Expand();

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello"",
            ""IsVisible"" : true
        }
    ]
}", cardJson);
        }
        [TestMethod]
        public void TestEvaluationContext()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""person"": {
                    ""firstName"": ""Andrew"",
                    ""lastName"": ""Leader""
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}";

            string jsonData = @"{
    ""person"": {
        ""firstName"": ""Andrew"",
        ""lastName"": ""Leader""
    }
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);

            string cardJson = transformer.Expand(jsonData);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello Andrew""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestIntInExpression()
        {
            string jsonTemplate = @"{
        ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
        ""type"": ""AdaptiveCard"",
        ""version"": ""1.0"",
        ""body"": [
                {
                    ""type"": ""Input.Number"",
                    ""id"": ""number"",
                    ""placeholder"": ""Enter Estimated Mileage"",
                    ""min"": 1,
                    ""max"": 10,
                    ""value"": ""${car_type_1.average_mileage}"" 
                }
        ],
        ""actions"": [
              {
                  ""type"": ""Action.Submit"",
                  ""title"": ""OK""
              }
        ]
}";

            string jsonData = @"{
    ""car_type_1"": {
        ""average_mileage"": 120000, 
        ""average_mpg"" : 28.5
    }
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
        ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
        ""type"": ""AdaptiveCard"",
        ""version"": ""1.0"",
        ""body"": [
                {
                    ""type"": ""Input.Number"",
                    ""id"": ""number"",
                    ""placeholder"": ""Enter Estimated Mileage"",
                    ""min"": 1,
                    ""max"": 10,
                    ""value"": 120000
                }
        ],
        ""actions"": [
              {
                  ""type"": ""Action.Submit"",
                  ""title"": ""OK""
              }
        ]
}", cardJson);
        }

        [TestMethod]
        public void TestExternalDataContext()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${person.firstName}""
        }
    ]
}";

            string jsonData = @"{
    ""person"": {
        ""firstName"": ""Andrew"",
        ""lastName"": ""Leader""
    }
}";
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);
            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello Andrew""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestExternalDataContextInternalReference()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${LineItems}"",
                    ""type"": ""TextBlock"",
                    ""$when"": ""${Milage > 0}"",
                    ""text"": ""${Milage}""
                  }
                ]
              }
            ]
        }";

            string jsonData = @"{
              ""LineItems"": [
                {
                    ""Milage"": 10
                },
                {
                    ""Milage"": 0
                }
              ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);
            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": 10
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestSortFunctionInDataCreateAnArray()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""version"": ""1.0"",
            ""body"": [
              {
                ""id"": ""Test"",
                ""type"": ""Input.ChoiceSet"",
                ""style"": ""expanded"",
                ""isMultiSelect"": true,
                ""choices"": [
                    {
                      ""$data"": ""${sortBy(createArray(4, 3, 1, 2))}"",
                      ""title"": ""Test"",
                      ""value"": ""Test""
                    }
                ]
              }
            ]
          }";

            string jsonData = @"{}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            try
            {
                string cardJson = transformer.Expand(context);
            }
            catch (AdaptiveTemplateException)
            {
                Assert.Fail("No exception should be thrown");
            }
        }
        
        [TestMethod]
        public void TestNullArgumentExceptionHandling()
        {
            // ${} is a null value
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${LineItems}"",
                    ""type"": ""TextBlock"",
                    ""$when"": ""${Milage > 0}"",
                    ""text"": ""${Milage}""
                  }
                ]
              }
            ]
        }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);

            try
            {
                string cardJson = transformer.Expand();
                Assert.Fail("There should be an exception");
            }
            catch (ArgumentNullException e)
            {
                Assert.IsNotNull(e.ParamName);
            }
            catch
            {
                Assert.Fail();
                throw;
            }
        }
        
        public static void AssertJsonEqual(string jsonExpected, string jsonActual)
        {
            var expected = JsonNode.Parse(jsonExpected);
            var actual = JsonNode.Parse(jsonActual);

            Assert.IsTrue(JsonNode.DeepEquals(expected, actual), "JSON wasn't the same.\n\nExpected: " + expected.ToString() + "\n\nActual: " + actual.ToString());
        }

        [TestMethod]
        public void TestArray()
        {
            var testString =
                @"{
                ""type"": ""AdaptiveCard"",
                ""$data"": {
                    ""employee"": {
                        ""name"": ""Matt"",
                        ""manager"": { ""name"": ""Thomas"" },
                        ""peers"": [{
                            ""name"": ""Andrew"" 
                        }, { 
                            ""name"": ""Lei""
                        }, { 
                            ""name"": ""Mary Anne""
                        }, { 
                            ""name"": ""Adam""
                        }]
                    }
                },
                ""body"": [
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""Hi ${employee.name}! Here's a bit about your org...""
                    },
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""Your manager is: ${employee.manager.name}""
                    },
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""3 of your peers are: ${employee.peers[0].name}, ${employee.peers[1].name}, ${employee.peers[2].name}""
                    }
                ]
            }";

            var expectedString = @"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""Hi Matt! Here's a bit about your org...""
                    },
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""Your manager is: Thomas""
                    },
                    {
                        ""type"": ""TextBlock"",
                        ""text"": ""3 of your peers are: Andrew, Lei, Mary Anne""
                    }
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();

            string cardJson = transformer.Expand(context);
            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestDataContextCommaRemoal()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${name}""
                              }
                          ],
                          ""$data"": ""${$root.LineItems}"" 
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                    {
                        ""type"": ""Container"",
                        ""items"": [ 
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Matt""
                            } ]
                    },
                    {
                        ""type"": ""Container"",
                        ""items"": [ 
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""David""
                            }
                        ]
                    },
                    {
                        ""type"": ""Container"",
                        ""items"": [ 
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Thomas""
                            }
                        ]
                    }
                ]
            }";

            string jsonData = @"{
              ""LineItems"": [
                  { ""name"": ""Matt"" }, 
                  { ""name"": ""David"" }, 
                  { ""name"": ""Thomas"" }
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            AdaptiveCardTemplate transformer2 = new AdaptiveCardTemplate(expectedString);
            var context = new EvaluationContext()
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);
            string expectedcardJson = transformer2.Expand(context);
            Assert.AreEqual(expectedcardJson, cardJson);
        }

        [TestMethod]
        public void TestIteratioinWithFacts()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""version"": ""1.0"",
                    ""body"": [
                        {
                            ""type"": ""Container"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""Header""
                                },
                                {
                                    ""type"": ""FactSet"",
                                    ""facts"": [
                                        {
                                            ""$data"": [
                                                {
                                                    ""name"": ""Star"",
                                                    ""nickname"": ""Dust""
                                                },
                                                {
                                                    ""name"": ""Death"",
                                                    ""nickname"": ""Star""
                                                }
                                            ],
                                            ""title"": ""${name}"",
                                            ""value"": ""${nickname}""
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json""
}";
            var expectedString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""version"": ""1.0"",
                    ""body"": [
                        {
                            ""type"": ""Container"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""Header""
                                },
                                {
                                    ""type"": ""FactSet"",
                                    ""facts"": [
                                        {
                                            ""title"": ""Star"",
                                            ""value"": ""Dust""
                                        },
                                        {
                                            ""title"": ""Death"",
                                            ""value"": ""Star""
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json""
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();

            string cardJson = transformer.Expand(context);
            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestIteratioin()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""$data"": [
                                      { ""name"": ""Matt"" }, 
                                      { ""name"": ""David"" }, 
                                      { ""name"": ""Thomas"" }
                                  ],
                                  ""text"": ""${name}""
                              }
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                    {
                        ""type"": ""Container"",
                        ""items"": [ 
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Matt""
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""David""
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Thomas""
                            }
                        ]
                    }
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();

            string cardJson = transformer.Expand(context);
            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestIteratioinFalsePositive()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""$data"": [
                                      { ""name"": ""Matt"" }, 
                                      { ""name"": ""David"" }, 
                                      { ""name"": ""Thomas"" }
                                  ],
                                  ""text"": ""Hello World!""
                              }
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                    {
                        ""type"": ""Container"",
                        ""items"": [ 
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Hello World!""
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Hello World!""
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": ""Hello World!""
                            }
                        ]
                    }
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestIteratioinRealDdata()
        {
            var templateData =
                @" [
                        { ""name"": ""Object-1"", ""lastPrice"": 1.10762, ""changePriceRatio"": -0.17 },
                        { ""name"": ""Object-2"", ""lastPrice"": 1578.205, ""changePriceRatio"": -0.68 },
                        { ""name"": ""Object-3"", ""lastPrice"": 51.475, ""changePriceRatio"": -0.23 },
                        { ""name"": ""Object-4"", ""lastPrice"": 28324, ""changePriceRatio"": 0.35 },
                        { ""name"": ""Object-5"", ""lastPrice"": 9338.87, ""changePriceRatio"": -1.04 }
                    ]";
                var testString =
                    @"{
        ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
        ""type"": ""AdaptiveCard"",
        ""version"": ""1.0"",
        ""body"": [
        {
            ""type"": ""Container"",
            ""items"": [
                {
                    ""type"": ""ColumnSet"",
                    ""columns"": [
                        {
                            ""type"": ""Column"",
                            ""width"": ""auto"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""${if(changePriceRatio >= 0, '▲', '▼')}"",
                                    ""color"": ""${if(changePriceRatio >= 0, 'good', 'attention')}""
                                }
                            ]
                        },
                        {
                            ""type"": ""Column"",
                            ""width"": ""stretch"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""${name}""
                                } ]
                        },
                        {
                            ""type"": ""Column"",
                            ""width"": ""stretch"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""${lastPrice} "",
                                    ""horizontalAlignment"": ""Center""
                                }
                            ],
                            ""horizontalAlignment"": ""Center""
                        },
                        {
                            ""type"": ""Column"",
                            ""width"": ""auto"",
                            ""items"": [
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""${changePriceRatio}%"",
                                    ""color"": ""${if(changePriceRatio >= 0, 'good', 'attention')}""
                                }
                            ],
                            ""horizontalAlignment"": ""Right""
                        }
                    ]
                }
            ] ,
            ""$data"":""${$root}""
        }
    ]
}";
        var expectedString =
        @"{ ""$schema"":""http://adaptivecards.io/schemas/adaptive-card.json"",""type"":""AdaptiveCard"",""version"":""1.0"",""body"":[{""type"":""Container"",""items"":[{""type"":""ColumnSet"",""columns"":[{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""▼"",""color"":""attention""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""Object-1""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""1.10762 "",""horizontalAlignment"":""Center""}],""horizontalAlignment"":""Center""},{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""-0.17%"",""color"":""attention""}],""horizontalAlignment"":""Right""}]}]},{""type"":""Container"",""items"":[{""type"":""ColumnSet"",""columns"":[{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""▼"",""color"":""attention""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""Object-2""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""1578.205 "",""horizontalAlignment"":""Center""}],""horizontalAlignment"":""Center""},{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""-0.68%"",""color"":""attention""}],""horizontalAlignment"":""Right""}]}]},{""type"":""Container"",""items"":[{""type"":""ColumnSet"",""columns"":[{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""▼"",""color"":""attention""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""Object-3""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""51.475 "",""horizontalAlignment"":""Center""}],""horizontalAlignment"":""Center""},{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""-0.23%"",""color"":""attention""}],""horizontalAlignment"":""Right""}]}]},{""type"":""Container"",""items"":[{""type"":""ColumnSet"",""columns"":[{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""▲"",""color"":""good""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""Object-4""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""28324 "",""horizontalAlignment"":""Center""}],""horizontalAlignment"":""Center""},{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""0.35%"",""color"":""good""}],""horizontalAlignment"":""Right""}]}]},{""type"":""Container"",""items"":[{""type"":""ColumnSet"",""columns"":[{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""▼"",""color"":""attention""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""Object-5""}]},{""type"":""Column"",""width"":""stretch"",""items"":[{""type"":""TextBlock"",""text"":""9338.87 "",""horizontalAlignment"":""Center""}],""horizontalAlignment"":""Center""},{""type"":""Column"",""width"":""auto"",""items"":[{""type"":""TextBlock"",""text"":""-1.04%"",""color"":""attention""}],""horizontalAlignment"":""Right""}]}]}]}"; 
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext
            {
                RootJson = templateData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestIteratioinRealDdata2()
        {
            var templateData =
                @"{
    ""attribution"": {
                ""iconAltText"": ""more in Outlook"",
        ""linkLabel"": ""more in Outlook"",
        ""linkAltText"": ""more in Outlook"",
        ""linkUrl"": ""https://outlook.office365.com/owa/""
    },
    ""emails"": [
        {
            ""name"": ""Jim Kirk"",
            ""flag"": true,
            ""date"": ""6/2/2017"",
            ""attachment"": false,
            ""link"": ""https://outlook.office365.com/owa/?ItemID=1"",
            ""linkTitle"": ""Email from Jim Kirk about RE: First Email Subject"",
            ""subject"": ""RE: First Email Subject"",
            ""preview"": ""First Email Preview""
        },
        {
            ""name"": ""Jim Kirk"",
            ""flag"": false,
            ""date"": ""6/1/2017"",
            ""attachment"": true,
            ""link"": ""https://outlook.office365.com/owa/?ItemID=1"",
            ""linkTitle"": ""Email from Jim Kirk about Second Email Subject"",
            ""subject"": ""Second Email Subject"",
            ""preview"": ""Second Email Preview""
        }
    ]
}";
                var testString =
                @"{
    ""type"": ""AdaptiveCard"",
    ""speak"": ""${speak}"",
    ""body"": [
        {
            ""type"": ""Container"",
            ""items"": [
                {
                    ""type"": ""ColumnSet"",
                    ""$data"": ""${emails}"",
                    ""columns"": [
                        {
                            ""type"": ""Column"",
                            ""width"": ""auto"",
                            ""items"": [
                                {
                                    ""type"": ""Image"",
                                    ""altText"": ""Envelope"",
                                    ""url"": """",
                                    ""width"": ""20px"",
                                    ""horizontalAlignment"": ""Center""
                                }
                            ]
                        },
                        {
                            ""type"": ""Column"",
                            ""width"": ""stretch"",
                            ""items"": [
                                {
                                    ""type"": ""ColumnSet"",
                                    ""columns"": [
                                        {
                                            ""type"": ""Column"",
                                            ""width"": ""stretch"",
                                            ""items"": [
                                                {
                                                    ""type"": ""TextBlock"",
                                                    ""text"": ""${name}"",
                                                    ""weight"": ""Bolder"",
                                                    ""horizontalAlignment"": ""Left""
                                                }
                                            ],
                                            ""spacing"": ""None"",
                                            ""verticalContentAlignment"": ""Center""
                                        },
                                        {
                                            ""type"": ""Column"",
                                            ""$when"": ""${attachment == true}"",
                                            ""width"": ""auto"",
                                            ""items"": [
                                                {
                                                    ""type"": ""Image"",
                                                    ""altText"": ""Paperclip"",
                                                    ""url"": """",
                                                    ""width"": ""20px""
                                                }
                                            ],
                                            ""spacing"": ""None""
                                        },
                                        {
                                            ""type"": ""Column"",
                                            ""$when"": ""${flag == true}"",
                                            ""width"": ""auto"",
                                            ""items"": [
                                                {
                                                    ""type"": ""Image"",
                                                    ""altText"": ""Flag"",
                                                    ""url"": """",
                                                    ""width"": ""20px""
                                                }
                                            ],
                                            ""spacing"": ""Small""
                                        }
                                    ]
                                },
                                {
                                    ""type"": ""ColumnSet"",
                                    ""columns"": [
                                        {
                                            ""type"": ""Column"",
                                            ""width"": ""stretch"",
                                            ""items"": [
                                                {
                                                    ""type"": ""TextBlock"",
                                                    ""text"": ""${subject}"",
                                                    ""spacing"": ""None"",
                                                    ""size"": ""default""
                                                }
                                            ],
                                            ""verticalContentAlignment"": ""Center""
                                        },
                                        {
                                            ""type"": ""Column"",
                                            ""width"": ""auto"",
                                            ""items"": [
                                                {
                                                    ""type"": ""TextBlock"",
                                                    ""text"": ""${date}"",
                                                    ""spacing"": ""None"",
                                                    ""isSubtle"": true,
                                                    ""size"": ""Small"",
                                                    ""horizontalAlignment"": ""Right""
                                                }
                                            ],
                                            ""verticalContentAlignment"": ""Center""
                                        }
                                    ],
                                    ""spacing"": ""None""
                                },
                                {
                                    ""type"": ""TextBlock"",
                                    ""text"": ""${preview}"",
                                    ""spacing"": ""None"",
                                    ""isSubtle"": true,
                                    ""size"": ""default""
                                }
                            ]
                        }
                    ],
                    ""selectAction"": {
                        ""type"": ""Action.OpenUrl"",
                        ""title"": ""${linkTitle}"",
                        ""url"": ""${link}""
                    },
                    ""spacing"": ""ExtraLarge"",
                    ""separator"": true
                }
            ]
        },
        {
            ""type"": ""Container"",
            ""spacing"": ""Padding""
        },
        {
            ""type"": ""Container"",
            ""separator"": true,
            ""spacing"": ""None""
        },
        {
            ""type"": ""ColumnSet"",
            ""columns"": [
                {
                    ""type"": ""Column"",
                    ""width"": ""auto"",
                    ""items"": [
                        {
                            ""type"": ""Image"",
                            ""altText"": ""${attribution.iconAltText}"",
                            ""url"": """",
                            ""spacing"": ""None"",
                            ""width"": ""16px"",
                            ""horizontalAlignment"": ""Left""
                        }
                    ],
                    ""spacing"": ""None"",
                    ""verticalContentAlignment"": ""Center""
                },
                {
                    ""type"": ""Column"",
                    ""width"": ""stretch"",
                    ""items"": [
                        {
                            ""type"": ""TextBlock"",
                            ""text"": ""Outlook"",
                            ""horizontalAlignment"": ""Left"",
                            ""size"": ""Small"",
                            ""spacing"": ""None""
                        }
                    ],
                    ""verticalContentAlignment"": ""Center""
                },
                {
                    ""type"": ""Column"",
                    ""width"": ""auto"",
                    ""items"": [
                        {
                            ""type"": ""RichTextBlock"",
                            ""horizontalAlignment"": ""Right"",
                            ""inlines"": [
                                {
                                    ""type"": ""TextRun"",
                                    ""text"": ""${attribution.linkLabel}"",
                                    ""size"": ""Small"",
                                    ""selectAction"": {
                                        ""title"": ""${attribution.linkAltText}"",
                                        ""type"": ""Action.OpenUrl"",
                                        ""url"": ""${attribution.linkUrl}""
                                    }
                                }
                            ]
                        }
                    ],
                    ""verticalContentAlignment"": ""Center""
                }
            ],
            ""spacing"": ""Medium""
        }
    ],
    ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
    ""version"": ""1.2""
}";
            var expectedString = @"{
      ""type"": ""AdaptiveCard"",
      ""speak"": ""${speak}"",
      ""body"": [
        {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""ColumnSet"",
              ""columns"": [
                {
                  ""type"": ""Column"",
                  ""width"": ""auto"",
                  ""items"": [
                    {
                      ""type"": ""Image"",
                      ""altText"": ""Envelope"",
                      ""url"": """",
                      ""width"": ""20px"",
                      ""horizontalAlignment"": ""Center""
                    }
                  ]
                },
                {
                  ""type"": ""Column"",
                  ""width"": ""stretch"",
                  ""items"": [
                    {
                      ""type"": ""ColumnSet"",
                      ""columns"": [
                        {
                          ""type"": ""Column"",
                          ""width"": ""stretch"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""Jim Kirk"",
                              ""weight"": ""Bolder"",
                              ""horizontalAlignment"": ""Left""
                            }
                          ],
                          ""spacing"": ""None"",
                          ""verticalContentAlignment"": ""Center""
                        },
                        {
                          ""type"": ""Column"",
                          ""width"": ""auto"",
                          ""items"": [
                            {
                              ""type"": ""Image"",
                              ""altText"": ""Flag"",
                              ""url"": """",
                              ""width"": ""20px""
                            }
                          ],
                          ""spacing"": ""Small""
                        }
                      ]
                    },
                    {
                      ""type"": ""ColumnSet"",
                      ""columns"": [
                        {
                          ""type"": ""Column"",
                          ""width"": ""stretch"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""RE: First Email Subject"",
                              ""spacing"": ""None"",
                              ""size"": ""default""
                            }
                          ],
                          ""verticalContentAlignment"": ""Center""
                        },
                        {
                          ""type"": ""Column"",
                          ""width"": ""auto"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""6/2/2017"",
                              ""spacing"": ""None"",
                              ""isSubtle"": true,
                              ""size"": ""Small"",
                              ""horizontalAlignment"": ""Right""
                            }
                          ],
                          ""verticalContentAlignment"": ""Center""
                        }
                      ],
                      ""spacing"": ""None""
                    },
                    {
                      ""type"": ""TextBlock"",
                      ""text"": ""First Email Preview"",
                      ""spacing"": ""None"",
                      ""isSubtle"": true,
                      ""size"": ""default""
                    }
                  ]
                }
              ],
              ""selectAction"": {
                ""type"": ""Action.OpenUrl"",
                ""title"": ""Email from Jim Kirk about RE: First Email Subject"",
                ""url"": ""https://outlook.office365.com/owa/?ItemID=1""
              },
              ""spacing"": ""ExtraLarge"",
              ""separator"": true
            },
            {
              ""type"": ""ColumnSet"",
              ""columns"": [
                {
                  ""type"": ""Column"",
                  ""width"": ""auto"",
                  ""items"": [
                    {
                      ""type"": ""Image"",
                      ""altText"": ""Envelope"",
                      ""url"": """",
                      ""width"": ""20px"",
                      ""horizontalAlignment"": ""Center""
                    }
                  ]
                },
                {
                  ""type"": ""Column"",
                  ""width"": ""stretch"",
                  ""items"": [
                    {
                      ""type"": ""ColumnSet"",
                      ""columns"": [
                        {
                          ""type"": ""Column"",
                          ""width"": ""stretch"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""Jim Kirk"",
                              ""weight"": ""Bolder"",
                              ""horizontalAlignment"": ""Left""
                            }
                          ],
                          ""spacing"": ""None"",
                          ""verticalContentAlignment"": ""Center""
                        },
                        {
                          ""type"": ""Column"",
                          ""width"": ""auto"",
                          ""items"": [
                            {
                              ""type"": ""Image"",
                              ""altText"": ""Paperclip"",
                              ""url"": """",
                              ""width"": ""20px""
                            }
                          ],
                          ""spacing"": ""None""
                        }
                      ]
                    },
                    {
                      ""type"": ""ColumnSet"",
                      ""columns"": [
                        {
                          ""type"": ""Column"",
                          ""width"": ""stretch"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""Second Email Subject"",
                              ""spacing"": ""None"",
                              ""size"": ""default""
                            }
                          ],
                          ""verticalContentAlignment"": ""Center""
                        },
                        {
                          ""type"": ""Column"",
                          ""width"": ""auto"",
                          ""items"": [
                            {
                              ""type"": ""TextBlock"",
                              ""text"": ""6/1/2017"",
                              ""spacing"": ""None"",
                              ""isSubtle"": true,
                              ""size"": ""Small"",
                              ""horizontalAlignment"": ""Right""
                            }
                          ],
                          ""verticalContentAlignment"": ""Center""
                        }
                      ],
                      ""spacing"": ""None""
                    },
                    {
                      ""type"": ""TextBlock"",
                      ""text"": ""Second Email Preview"",
                      ""spacing"": ""None"",
                      ""isSubtle"": true,
                      ""size"": ""default""
                    }
                  ]
                }
              ],
              ""selectAction"": {
                ""type"": ""Action.OpenUrl"",
                ""title"": ""Email from Jim Kirk about Second Email Subject"",
                ""url"": ""https://outlook.office365.com/owa/?ItemID=1""
              },
              ""spacing"": ""ExtraLarge"",
              ""separator"": true
            }
          ]
        },
        {
          ""type"": ""Container"",
          ""spacing"": ""Padding""
        },
        {
          ""type"": ""Container"",
          ""separator"": true,
          ""spacing"": ""None""
        },
        {
          ""type"": ""ColumnSet"",
          ""columns"": [
            {
              ""type"": ""Column"",
              ""width"": ""auto"",
              ""items"": [
                {
                  ""type"": ""Image"",
                  ""altText"": ""more in Outlook"",
                  ""url"": """",
                  ""spacing"": ""None"",
                  ""width"": ""16px"",
                  ""horizontalAlignment"": ""Left""
                }
              ],
              ""spacing"": ""None"",
              ""verticalContentAlignment"": ""Center""
            },
            {
              ""type"": ""Column"",
              ""width"": ""stretch"",
              ""items"": [
                {
                  ""type"": ""TextBlock"",
                  ""text"": ""Outlook"",
                  ""horizontalAlignment"": ""Left"",
                  ""size"": ""Small"",
                  ""spacing"": ""None""
                }
              ],
              ""verticalContentAlignment"": ""Center""
            },
            {
              ""type"": ""Column"",
              ""width"": ""auto"",
              ""items"": [
                {
                  ""type"": ""RichTextBlock"",
                  ""horizontalAlignment"": ""Right"",
                  ""inlines"": [
                    {
                      ""type"": ""TextRun"",
                      ""text"": ""more in Outlook"",
                      ""size"": ""Small"",
                      ""selectAction"": {
                        ""title"": ""more in Outlook"",
                        ""type"": ""Action.OpenUrl"",
                        ""url"": ""https://outlook.office365.com/owa/""
                      }
                    }
                  ]
                }
              ],
              ""verticalContentAlignment"": ""Center""
            }
          ],
          ""spacing"": ""Medium""
        }
      ],
      ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
      ""version"": ""1.2""
}";
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext
            {
                RootJson = templateData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestExpression()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""machines"": {
                    ""id"": ""primary"",
                    ""uptime"": 2231
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""${machines.id}"",
            ""color"": ""${if(machines.uptime >= 3000, 'good', 'attention')}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""primary"",
            ""color"": ""attention""
        }
    ]
}", cardJson);
        }

        /// <summary>
        /// Test that when expression fails to evaluate, it leaves the expression stirng untouched
        /// </summary>
        [TestMethod]
        public void TestCanHandleFailedExpressionEvaluation()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""machines"": {
                    ""id"": ""primary""
                }
     },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""${machines.id}"",
            ""color"": ""${if(machines.uptime >= 3000, 'good', 'attention')}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""primary"",
            ""color"": ""attention""
        }
    ]
}", cardJson);
        }

        /// <summary>
        /// Test that when expression fails to evaluate, it leaves the expression stirng untouched
        /// </summary>
        [TestMethod]
        public void TestCanHandleUndefinedFunctions()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""firstname"": ""David"",
                ""lastName"" : ""Claux""
    },
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""${firstName} ${if(unknownFunction(lastName), 'yes', 'no'}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""David ${if(unknownFunction(lastName), 'yes', 'no'}""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestWhen()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""$data"": {
                ""machines"": {
                    ""id"": ""primary"",
                    ""uptime"": 3231
                }
     },
    ""body"": [
        {
            ""$when"": ""${(machines.uptime >= 3000)}"",
            ""type"": ""TextBlock"",
            ""text"": ""${machines.id}""
        }
    ]
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""primary""
        }
    ]
}", cardJson);
        }
        [TestMethod]
        public void TestWhenWithArray()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${LineItems}"",
                    ""type"": ""TextBlock"",
                    ""$when"": ""${Milage > 0}"",
                    ""text"": ""${Milage}""
                  }
                ]
              }
            ]
        }";

            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": 1
                },
                {
                    ""type"": ""TextBlock"",
                    ""text"": 10
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestWhenWithArrayWhenAllElementsOfArrayAreRemoved()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${LineItems}"",
                    ""type"": ""TextBlock"",
                    ""$when"": ""${Milage > 0}"",
                    ""text"": ""${Milage}""
                  }
                ]
              }
            ]
        }";

            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 0},
                    {""Milage"" : 0}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": []
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestWhenWithArrayWithProperCommaRemoval()
        {
            string jsonTemplate =
                @"{
                     ""type"": ""AdaptiveCard"",
                     ""body"": [
                         {
                             ""type"": ""TextBlock"",
                             ""size"": ""Medium"",
                             ""weight"": ""Bolder"",
                             ""text"": ""${title}""
                         },
                         {
                             ""type"": ""FactSet"",
                             ""facts"": [
                                 {
                                     ""$data"": ""${people}"",
                                     ""$when"": ""${age > 12}"",
                                     ""title"": ""${firstName} ${lastName}"",
                                     ""value"": ""${string(age)}""
                                 }
                             ]
                         }
                     ],
                     ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
                     ""version"": ""1.0""
                 }";

            string jsonData =
                @"{
                    ""title"": ""My list of people:"",
                    ""count"": 4,
                    ""people"": [
                        {
                            ""firstName"": ""Micky"",
                            ""lastName"": ""Mouse"",
                            ""age"": 44
                        },
                        {
                            ""firstName"": ""Donald"",
                            ""lastName"": ""Duck"",
                            ""age"": 12
                        },
                        {
                            ""firstName"": ""Harry"",
                            ""lastName"": ""Potter"",
                            ""age"": 18
                        },
                        {
                            ""firstName"": ""Matt"",
                            ""lastName"": ""Hidinger"",
                            ""age"": ""28""
                        }
                    ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
                 {
                     ""type"": ""TextBlock"",
                     ""size"": ""Medium"",
                     ""weight"": ""Bolder"",
                     ""text"": ""My list of people:""
                 },
                 {
                     ""type"": ""FactSet"",
                     ""facts"": [
                         {
                             ""title"": ""Micky Mouse"",
                             ""value"": ""44""
                         },
                         {
                             ""title"": ""Harry Potter"",
                             ""value"": ""18""
                         },
                         {
                             ""title"": ""Matt Hidinger"",
                             ""value"": ""28""
                         }
                     ]
                 }
            ],
     ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
     ""version"": ""1.0""

}", cardJson);
        }

        [TestMethod]
        public void TestNestedArray()
        {
            var jsonData =
            @"{
                  ""outerArray"": [
                        [ ""a"", ""b"", ""c""],
                        [ ""d"", ""e"", ""f""],
                        [ ""g"", ""h"", ""i""]
                  ]
                }";
            var jsonTemplate =
            @"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                    {
                        ""type"": ""Container"",
                        ""$data"": ""${$root.outerArray}"",
                        ""items"": [
                            {
                                ""text"": ""Container ${$index}"",
                                ""type"": ""TextBlock""
                            },
                            {
                                ""$data"": ""${$data}"",
                                ""text"": ""${$data}"",
                                ""type"": ""TextBlock""
                            }
                        ]
                    }
                ],
                ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
                ""version"": ""1.2""
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext()
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            var expectedString = @"{""type"":""AdaptiveCard"",""body"":[{""type"":""Container"",""items"":[{""text"":""Container 0"",""type"":""TextBlock""},{""text"":""a"",""type"":""TextBlock""},{""text"":""b"",""type"":""TextBlock""},{""text"":""c"",""type"":""TextBlock""}]},{""type"":""Container"",""items"":[{""text"":""Container 1"",""type"":""TextBlock""},{""text"":""d"",""type"":""TextBlock""},{""text"":""e"",""type"":""TextBlock""},{""text"":""f"",""type"":""TextBlock""}]},{""type"":""Container"",""items"":[{""text"":""Container 2"",""type"":""TextBlock""},{""text"":""g"",""type"":""TextBlock""},{""text"":""h"",""type"":""TextBlock""},{""text"":""i"",""type"":""TextBlock""}]}],""$schema"":""http://adaptivecards.io/schemas/adaptive-card.json"",""version"":""1.2""} ";
            AssertJsonEqual(cardJson, expectedString);
        }

        [TestMethod]
        public void TestNestedArrayWithoutDataReference()
        {
            var jsonData =
            @"{
                  ""outerArray"": [
                        [ ""a"", ""b"", ""c""],
                        [ ""d"", ""e"", ""f""],
                        [ ""g"", ""h"", ""i""]
                  ]
                }";
            var jsonTemplate =
            @"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                    {
                        ""type"": ""Container"",
                        ""$data"": ""${$root.outerArray}"",
                        ""items"": [
                            {
                                ""text"": ""Container ${$index}"",
                                ""type"": ""TextBlock""
                            },
                            {
                                ""$data"": ""${$data}"",
                                ""text"": ""test"",
                                ""type"": ""TextBlock""
                            }
                        ]
                    }
                ],
                ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
                ""version"": ""1.2""
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext()
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            var expectedString = @"{""type"":""AdaptiveCard"",""body"":[{""type"":""Container"",""items"":[{""text"":""Container 0"",""type"":""TextBlock""},
            {""text"":""test"",""type"":""TextBlock""},{""text"":""test"",""type"":""TextBlock""},
            {""text"":""test"",""type"":""TextBlock""}]},{""type"":""Container"",""items"":[{""text"":""Container 1"",""type"":""TextBlock""},
            {""text"":""test"",""type"":""TextBlock""},{""text"":""test"",""type"":""TextBlock""},{""text"":""test"",""type"":""TextBlock""}]},
            {""type"":""Container"",""items"":[{""text"":""Container 2"",""type"":""TextBlock""},{""text"":""test"",""type"":""TextBlock""},
            {""text"":""test"",""type"":""TextBlock""},{""text"":""test"",""type"":""TextBlock""}]}],
            ""$schema"":""http://adaptivecards.io/schemas/adaptive-card.json"",""version"":""1.2""} ";
            AssertJsonEqual(expectedString, cardJson);
        }

        [TestMethod]
        public void TestIndex()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": [{""Milage"" : 1}, {""Milage"" : 10}],
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired${$index}"",
                    ""text"": ""${Milage}""
                  }
                ]
              }
            ]
        }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);

            AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired0"",
                    ""text"": 1
                },
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired1"",
                    ""text"": 10
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestInlineMemoryScope()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""version"": ""1.0"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""$data"": { ""name"": ""Matt"" }, 
                                  ""text"": ""${name}""
                              }
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
      {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""text"": ""Matt""
            }
            ]
        }
    ]
}"; 

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);
            AssertJsonEqual(cardJson, expectedString);
        }
        [TestMethod]
        public void TestInlineMemoryScope2()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""version"": ""1.0"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""$data"": { ""name"": ""Matt"" }, 
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""text"": ""${name}""
                              }
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
      {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""text"": ""Matt""
            }
            ]
        }
    ]
}"; 

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);
            AssertJsonEqual(cardJson, expectedString);
        }

        [TestMethod]
        public void TestInlineMemoryScope3()
        {
            var testString =
                @"{
                    ""type"": ""AdaptiveCard"",
                    ""version"": ""1.0"",
                    ""body"": [
                      {
                          ""type"": ""Container"",
                          ""$data"": { ""name"": ""Andrew"" }, 
                          ""items"": [
                              {
                                  ""type"": ""TextBlock"",
                                  ""$data"": { ""name"": ""Matt"" }, 
                                  ""text"": ""${name}""
                              }
                          ]
                      }
                    ]
                }";
            var expectedString =
                @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
      {
          ""type"": ""Container"",
          ""items"": [
            {
              ""type"": ""TextBlock"",
              ""text"": ""Matt""
            }
            ]
        }
    ]
}"; 

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(testString);
            var context = new EvaluationContext();
            string cardJson = transformer.Expand(context);
            AssertJsonEqual(expectedString, cardJson);
        }
        
        internal class Data
        { 
            public string title { get; set; }
            public int IntTemplateProperty { get; internal set; }
        };
        [TestMethod]
        public void TestDoubleQuote()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\",\"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\",\"weight\": \"Bolder\",\"text\": \"${title}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.2\"}";

            Data dt = new Data()
            {
                title = "Test with\n\r \"quotes\""
            };


            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));
            try
            {
                var jsonOb = Newtonsoft.Json.JsonConvert.DeserializeObject(st);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex.Message);
                Assert.Fail();
            }
        }
        [TestMethod]
        public void TestSerialization()
        {
            string cardJson = "{ \"type\": \"AdaptiveCard\"," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\"," +
                "\"version\": \"1.3\"," +
                "\"body\": [" +
                "{" +
                "\"id\": \"stringWithJson\"," +
                "\"type\": \"TextBlock\"," +
                "\"text\": \"String With JSON - ${jsonStringify(stringWithJson)}\"," +
                "\"wrap\": true" +
                "}" +
                "]}";

            var template = new AdaptiveCardTemplate(cardJson);
            var data = new Data2 { stringWithJson = @"{""number1"":23}" };
            string st = template.Expand(JsonSerializer.Serialize(data, TestSerializerContext.Default.Data2));
            try
            {
                var jsonOb = Newtonsoft.Json.JsonConvert.DeserializeObject(st);
                string expectedJson = "{ \"type\": \"AdaptiveCard\"," + 
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\"," + 
                "\"version\": \"1.3\"," + 
                "\"body\": [" + 
                "{" + 
                "\"id\": \"stringWithJson\"," + 
                "\"type\": \"TextBlock\"," +
                @"""text"": ""String With JSON - \u0022{\\u0022number1\\u0022:23}\u0022""," + 
                "\"wrap\": true" + 
                "}" + 
                "]}";
                AssertJsonEqual(expectedJson, st);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex.Message);
                Assert.Fail();
            }
        }

        [TestMethod]
        public void TestWithUnicode()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\",\"body\": [{\"type\": \"TextBlock\"," +
                "\"text\": \"${if(IntTemplateProperty >= 0, IntTemplateProperty + ' % \u25b2', IntTemplateProperty + '%  \u25bc')}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.2\"}";

            string expectedJson = "{\"type\": \"AdaptiveCard\",\"body\": [{\"type\": \"TextBlock\"," +
                "\"text\": \"5 % \u25b2\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.2\"}";

            Data dt = new Data()
            {
                IntTemplateProperty = 5
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));
            AssertJsonEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestBooleanEvaluation()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\", " +
                "\"size\": \"Medium\", \"text\": \"Title is ${title != ''}\"}], \"$schema\": " +
                "\"http://adaptivecards.io/schemas/adaptive-card.json\", \"version\": \"1.5\"}";

            string expectedJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\", " +
                "\"size\": \"Medium\", \"text\": \"Title is false\"}], \"$schema\": " +
                "\"http://adaptivecards.io/schemas/adaptive-card.json\", \"version\": \"1.5\"}";

            Data dt = new Data()
            {
                title = ""
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));

            AssertJsonEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestBooleanProperty()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"$schema\": " +
                "\"http://adaptivecards.io/schemas/adaptive-card.json\", \"version\": \"1.5\", " +
                "\"body\": [{ \"type\": \"TextBlock\", \"text\": \"Hello world!\", \"wrap\": \"${title != ''}\"}]}";

            string expectedJson = "{\"type\": \"AdaptiveCard\", \"$schema\": " +
                "\"http://adaptivecards.io/schemas/adaptive-card.json\", \"version\": \"1.5\", " +
                "\"body\": [{ \"type\": \"TextBlock\", \"text\": \"Hello world!\", \"wrap\": false}]}";

            Data dt = new Data()
            {
                title = ""
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));

            AssertJsonEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestAppendDelimiterDataArray()
        {
            string cardJson = "{\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\", " +
                "\"type\": \"AdaptiveCard\", \"version\": \"1.3\", \"body\": [{\"type\": \"ColumnSet\"," +
                "\"$data\": \"${foo}\", \"$when\": \"${$index==0}\"},{\"type\": \"Container\"," +
                "\"$data\": \"${foo}\", \"$when\": \"${$index>0}\"}]}";

            string expectedJson = "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\"," +
                "\"type\":\"AdaptiveCard\",\"version\":\"1.3\",\"body\":[{\"type\":\"ColumnSet\"}" +
                ",{\"type\":\"Container\"}]}";

            var jsonData = @"{""foo"": [{ }, { }]}";

            var context = new EvaluationContext()
            {
                RootJson = jsonData
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestAppendDelimiter()
        {
            string cardJson = "{\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\"," +
                "\"type\": \"AdaptiveCard\", \"version\": \"1.3\", \"body\": [{\"items\": [{" +
                "\"type\": \"Container\", \"$when\": \"${bar==1}\"}, {\"type\": \"ColumnSet\"," +
                "\"$when\": \"${bar==2}\"}], \"$data\": \"${foo}\"}]}";

            string expectedJson = "{\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\"," +
                "\"type\":\"AdaptiveCard\",\"version\":\"1.3\",\"body\":[{\"items\":[{" +
                "\"type\":\"Container\"}]}]}";

            var jsonData = @"{""foo"": [{""bar"": 1}]}";

            var context = new EvaluationContext()
            {
                RootJson = jsonData
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestWhenNotExpression()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"notAnExpression\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            var context = new EvaluationContext();

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestWhenInvalidExpressionNoData()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"${invalidExpression}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            var context = new EvaluationContext();

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestWhenExpressionNotInData()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"${notInData}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            Data dt = new Data()
            {
                title = ""
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));

            Assert.AreEqual(expectedJson, st);
        }

        [TestMethod]
        public void TestWhenNotExpressionWithLog()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"notAnExpression\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            var context = new EvaluationContext();
            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);

            ArrayList log = template.GetLastTemplateExpansionWarnings();
            string expectedWarning = "WARN: Could not evaluate \"notAnExpression\" because it is not " +
                "an expression or the expression is invalid. The $when condition has been set to false by default.";

            Assert.AreEqual(expectedWarning, log[0]);
        }

        [TestMethod]
        public void TestWhenInvalidExpressionNoDataWithLog()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"${invalidExpression}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            var context = new EvaluationContext();
            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);

            Assert.AreEqual(expectedJson, st);

            ArrayList log = template.GetLastTemplateExpansionWarnings();
            string expectedWarning = "WARN: Could not evaluate \"${invalidExpression}\" because it is not " +
                "an expression or the expression is invalid. The $when condition has been set to false by default.";

            Assert.AreEqual(expectedWarning, log[0]);
        }

        [TestMethod]
        public void TestWhenExpressionNotInDataWithLog()
        {
            string cardJson = "{\"type\": \"AdaptiveCard\", \"body\": [{\"type\": \"TextBlock\"," +
                "\"size\": \"Medium\", \"weight\": \"Bolder\", \"text\": \"${title}\", \"$when\": \"${notInData}\"}]," +
                "\"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\": \"1.5\"}";

            string expectedJson = "{\"type\":\"AdaptiveCard\",\"body\":[]," +
                "\"$schema\":\"http://adaptivecards.io/schemas/adaptive-card.json\",\"version\":\"1.5\"}";

            Data dt = new Data()
            {
                title = ""
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(JsonSerializer.Serialize(dt, TestSerializerContext.Default.Data));

            Assert.AreEqual(expectedJson, st);

            ArrayList log = template.GetLastTemplateExpansionWarnings();
            string expectedWarning = "WARN: Could not evaluate ${notInData} " +
                "because it could not be found in the provided data. The condition has been set to false by default.";

            Assert.AreEqual(expectedWarning, log[0]);
        }

        [TestMethod]
        public void TestJPathOnData()
        {
            string cardJson =
                @"{
                      ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
                      ""type"": ""AdaptiveCard"",
                      ""version"": ""1.3"",
                      ""body"": [
                        {
                          ""type"": ""TextBlock"",
                          ""text"": ""${string(jPath(FormMetaData, \""$..FieldOptions[?(@.Name == 'Title')].IsReadOnly\""))}""
                        },
                        {
                          ""type"": ""Container"",
                          ""$when"": ""${not(jPath(FormMetaData, \""$..FieldOptions[?(@.Name == 'Severity')].IsReadOnly\""))}"",
                          ""items"": [
                            {
                              ""type"": ""Input.ChoiceSet"",
                              ""id"": ""Severity"",
                              ""style"": ""expanded"",
                              ""choices"": [
                                {
                                  ""$data"": ""${jPath(FormMetaData, \""$..FieldOptions[?(@.Name == 'Severity')].Options\"")}"",
                                  ""title"": ""${Title}"",
                                  ""value"": ""${Value}""
                                }
                              ],
                              ""label"": ""Severity of the Incident"",
                              ""isRequired"": true,
                              ""errorMessage"": ""Severity of the Incident""
                            }
                          ]
                        }
                      ]
                }";

            string expectedJson =
            @"{
                  ""$schema"": ""http://adaptivecards.io/schemas/adaptive-card.json"",
                  ""type"": ""AdaptiveCard"",
                  ""version"": ""1.3"",
                  ""body"": [
                    {
                      ""type"": ""TextBlock"",
                      ""text"": ""false""
                    },
                    {
                      ""type"": ""Container"",
                      ""items"": [
                        {
                          ""type"": ""Input.ChoiceSet"",
                          ""id"": ""Severity"",
                          ""style"": ""expanded"",
                          ""choices"": [
                            {
                              ""title"": ""1"",
                              ""value"": ""1""
                            },
                            {
                              ""title"": ""2"",
                              ""value"": ""2""
                            },
                            {
                              ""title"": ""3"",
                              ""value"": ""3""
                            },
                            {
                              ""title"": ""4"",
                              ""value"": ""4""
                            }
                          ],
                          ""label"": ""Severity of the Incident"",
                          ""isRequired"": true,
                          ""errorMessage"": ""Severity of the Incident""
                        }
                      ]
                    }
                  ]
            }";

            var context = new EvaluationContext()
            {
                RootJson =
                @"{
                  ""Title"": ""Issue with "",
                  ""FormMetaData"": {
                    ""FieldOptions"": [
                      {
                        ""Name"": ""Title"",
                        ""IsReadOnly"": false,
                        ""Options"": []
                      },
                      {
                        ""Name"": ""Severity"",
                        ""IsReadOnly"": false,
                        ""Options"": [
                          {
                            ""Title"": ""1"",
                            ""Value"": ""1""
                          },
                          {
                            ""Title"": ""2"",
                            ""Value"": ""2""
                          },
                          {
                            ""Title"": ""3"",
                            ""Value"": ""3""
                          },
                          {
                            ""Title"": ""4"",
                            ""Value"": ""4""
                          }
                        ]
                      }
                    ]
                  }
                }"
            };

            var template = new AdaptiveCardTemplate(cardJson);
            string st = template.Expand(context);
            AssertJsonEqual(expectedJson, st);
        }

        internal class Data2
        {
            public string stringWithJson { get; set; }
        }
    }
    [TestClass]
    public sealed class TestRootKeyword
    {
        [TestMethod]
        public void TestRootInDataContext()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${$root.LineItems}"",
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired${$index}"",
                    ""text"": ""${string(Milage)}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired0"",
                    ""text"": ""1""
                },
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired1"",
                    ""text"": ""10""
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestCanAccessByAEL()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""type"": ""TextBlock"",
                    ""text"": ""${$root.LineItems[0].Milage}""
                  },
                  {
                    ""type"": ""TextBlock"",
                    ""text"": ""${$root.LineItems[1].Milage}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": 1
                },
                {
                    ""type"": ""TextBlock"",
                    ""text"": 10
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestWorkWithRepeatingItems()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${$root.LineItems}"",
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: ${$root.Class}, Mileage: ${Mileage}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""Class"" : ""Ship"",
              ""LineItems"": [
                    {""Mileage"" : 1},
                    {""Mileage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: Ship, Mileage: 1""
                },
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: Ship, Mileage: 10""
                }
            ]
        }
    ]
}", cardJson);
        }
    }

    [TestClass]
    public sealed class TestHostKeyword
    {
        [TestMethod]
        public void TestRootInDataContext()
        {
            string jsonTemplate = @"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                  {
                    ""type"": ""Container"",
                    ""items"": [
                      {
                        ""$data"": ""${$root.LineItems}"",
                        ""type"": ""TextBlock"",
                        ""id"": ""ReceiptRequired${$index}"",
                        ""text"": ""${string(Milage)}""
                      }
                    ]
                  },
                  {
                    ""type"": ""TextBlock"",
                    ""text"": ""${$host.text}""
                  }
                ]
            }";
            string rootData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            string hostData = @"{
              ""text"": ""placeholder""
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = rootData,
                HostJson = hostData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired0"",
                    ""text"": ""1""
                },
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired1"",
                    ""text"": ""10""
                }
            ]
        },
            {
              ""type"": ""TextBlock"",
              ""text"": ""placeholder""
            }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestCanAccessByAEL()
        {
            string jsonTemplate = @"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                  {
                    ""type"": ""Container"",
                    ""items"": [
                      {
                        ""type"": ""TextBlock"",
                        ""text"": ""${$root.LineItems[0].Milage}""
                      },
                      {
                        ""type"": ""TextBlock"",
                        ""text"": ""${$root.LineItems[1].Milage}""
                      }
                    ]
                  },
                  {
                    ""type"": ""Container"",
                    ""items"": [
                      {
                        ""type"": ""TextBlock"",
                        ""text"": ""${$host.Parameters[0].one}""
                      },
                      {
                        ""type"": ""TextBlock"",
                        ""text"": ""${$host.Parameters[1].two}""
                      }
                    ]
                  }
                ]
            }";
            string rootJsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            string hostJsonData = @"{
                ""Parameters"": [
                    {""one"": 1},
                    {""two"": 2}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = rootJsonData,
                HostJson = hostJsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
                ""type"": ""AdaptiveCard"",
                ""body"": [
                    {
                        ""type"": ""Container"",
                        ""items"": [
                            {
                                ""type"": ""TextBlock"",
                                ""text"": 1
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": 10
                            }
                        ]
                    },
                    {
                        ""type"": ""Container"",
                        ""items"": [
                            {
                                ""type"": ""TextBlock"",
                                ""text"": 1
                            },
                            {
                                ""type"": ""TextBlock"",
                                ""text"": 2
                            }
                        ]
                    }
                ]
            }",
            cardJson);
        }

        [TestMethod]
        public void TestWorkWithRepeatingItems()
        {
            string jsonTemplate = @"{
                    ""type"": ""AdaptiveCard"",
                    ""body"": [
                      {
                        ""type"": ""Container"",
                        ""items"": [
                          {
                            ""$data"": ""${$host.LineItems}"",
                            ""type"": ""TextBlock"",
                            ""text"": ""Class: ${$host.Class}, Mileage: ${Mileage}""
                          }
                        ]
                      }
                    ]
                }";

            string rootJsonData = "{}";
            string hostJsonData = @"{
                      ""Class"" : ""Ship"",
                      ""LineItems"": [
                            {""Mileage"" : 1},
                            {""Mileage"" : 10}
                        ]
                    }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = rootJsonData,
                HostJson = hostJsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
                      {
                        ""type"": ""Container"",
                        ""items"": [
                        {
                            ""type"": ""TextBlock"",
                            ""text"": ""Class: Ship, Mileage: 1""
                        },
                        {
                            ""type"": ""TextBlock"",
                            ""text"": ""Class: Ship, Mileage: 10""
                        }
                    ]
                }
            ]
        }", cardJson);
        }
    }

    [TestClass]
    public sealed class TestDataKeyword
    {
        [TestMethod]
        public void TestBasic()
        {
            string jsonTemplate = @"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello ${$data.person.firstName}""
        }
    ]
}";

            string jsonData = @"{
    ""person"": {
        ""firstName"": ""Andrew"",
        ""lastName"": ""Leader""
    }
}";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""version"": ""1.0"",
    ""body"": [
        {
            ""type"": ""TextBlock"",
            ""text"": ""Hello Andrew""
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestKeywordDataInRepeatingItems()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${LineItems}"",
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired${$index}"",
                    ""text"": ""${string(Milage)}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired0"",
                    ""text"": ""1""
                },
                {
                    ""type"": ""TextBlock"",
                    ""id"": ""ReceiptRequired1"",
                    ""text"": ""10""
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestCanAccessByAEL()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""type"": ""TextBlock"",
                    ""text"": ""${$data.LineItems[0].Milage}""
                  },
                  {
                    ""type"": ""TextBlock"",
                    ""text"": ""${$data.LineItems[1].Milage}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""LineItems"": [
                    {""Milage"" : 1},
                    {""Milage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": 1
                },
                {
                    ""type"": ""TextBlock"",
                    ""text"": 10
                }
            ]
        }
    ]
}", cardJson);
        }

        [TestMethod]
        public void TestRootAndDataWorkInRepeatingItems()
        {
            string jsonTemplate = @"{
            ""type"": ""AdaptiveCard"",
            ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                  {
                    ""$data"": ""${$root.LineItems}"",
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: ${$root.Class}, Mileage: ${$data.Mileage}""
                  }
                ]
              }
            ]
        }";
            string jsonData = @"{
              ""Class"" : ""Ship"",
              ""LineItems"": [
                    {""Mileage"" : 1},
                    {""Mileage"" : 10}
                ]
            }";

            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };

            string cardJson = transformer.Expand(context);

            TestTemplate.AssertJsonEqual(@"{
    ""type"": ""AdaptiveCard"",
    ""body"": [
              {
                ""type"": ""Container"",
                ""items"": [
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: Ship, Mileage: 1""
                },
                {
                    ""type"": ""TextBlock"",
                    ""text"": ""Class: Ship, Mileage: 10""
                }
            ]
        }
    ]
}", cardJson);
        }
    }

    [TestClass]
    public sealed class TestPartialResult
    {
        [TestMethod]
        public void TestCreation()
        {
            AdaptiveCardsTemplateResult result = new AdaptiveCardsTemplateResult();
            result.Append("hello world");
            Assert.AreEqual(result.ToString(), "hello world");
        }

        [TestMethod]
        public void TestMerging()
        {
            AdaptiveCardsTemplateResult result1 = new AdaptiveCardsTemplateResult();
            result1.Append("hello");

            AdaptiveCardsTemplateResult result2 = new AdaptiveCardsTemplateResult();
            result2.Append(" world");


            AdaptiveCardsTemplateResult result3 = new AdaptiveCardsTemplateResult();
            result3.Append("!");

            result1.Append(result2);
            result1.Append(result3);

            Assert.AreEqual(result1.ToString(), "hello world!");
        }

        [TestMethod]
        public void TestCreationOfPartialResult()
        {
            AdaptiveCardsTemplateResult result1 = new AdaptiveCardsTemplateResult();
            result1.Append("hello");

            AdaptiveCardsTemplateResult result2 = new AdaptiveCardsTemplateResult();
            result2.Append("!");

            result1.Append(result2);

            Assert.AreEqual(result1.ToString(), "hello!");
        }

    }

    [TestClass]
    public sealed class TestAEL
    {
        [TestMethod]
        public void TestCreation()
        {
            string jsonData = @"{
            ""person"": {
                ""firstName"": ""Super"",
                ""lastName"": ""man""
                }
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            var (value, error) = new ValueExpression("${person.firstName}man").TryGetValue(token as JsonNode);
            Assert.AreEqual("Superman", value);
        }

        [TestMethod]
        public void TestIndex()
        {
            string jsonData = @"{
            ""$index"": 0
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            var (value, error) = new ValueExpression("${$index}").TryGetValue(token as JsonNode);
            Assert.AreEqual("0", value);
        }

        [TestMethod]
        public void TestRegex()
        {
            string jsonData = @"{
            ""numberPropertyValue"": ""20.12345""
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            
            var (value, error) = new ValueExpression("${if(isMatch(numberPropertyValue, '[-+]?[0-9]*\\.?[0-9]+'), formatNumber(float(numberPropertyValue), 2), numberPropertyValue)}").TryGetValue(token as JsonNode);
            Assert.AreEqual("20.12", value);
        }

        [TestMethod]
        public void TestComplexExpression()
        {
            string jsonData = @"{
  ""LineItems"": [
    {
      ""AName"": ""Leonardo DiCaprio""
    },
    {
      ""Name"": ""Bradley Cooper""
    }
  ]
}";
            JsonNode token = JsonNode.Parse(jsonData);
            string unboundString = "${foreach(foreach(indicesAndValues(LineItems), x, concat('cardContent', x.index)), y, json(concat('{ \"elementId\": \"', y, '\", \"isVisible\": true}')))}";
            var exp = new ValueExpression(unboundString);
            var (value, error) = exp.TryGetValue(token as JsonNode);
            Expression exp2 = Expression.Parse(unboundString.Substring(2, unboundString.Length - 3));

            var options = new Options
            {
                NullSubstitution = (path) => $"${{{path}}}"
            };

            var (value2, error2) = exp2.TryEvaluate(token, options);
        }

        [TestMethod]
        public void TestEqual()
        {
            string jsonData = @"{
            ""attachment"": false 
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            var expr = Expression.Parse("attachment == true");
            var result =  expr.TryEvaluate(token); 
            Assert.IsNull(result.error);
            Assert.AreEqual(false, result.value);
        }

        [TestMethod]
        public void TestSimpleToString()
        {
            string jsonData = @"{
            ""person"": {
                ""firstName"": ""Super"",
                ""lastName"": ""man"",
                ""age"" : 79 
                }
            }";

            Stopwatch.StartNew();
            var beginTime0 = Stopwatch.GetTimestamp();
            JsonNode token = JsonNode.Parse(jsonData);
            var endTime0 = Stopwatch.GetTimestamp();
            Console.WriteLine("time0 took: " + (endTime0 - beginTime0));
            var beginTime1 = Stopwatch.GetTimestamp();
            var (value, error) = new ValueExpression("${string(person.age)}").TryGetValue(token as JsonNode);
            var endTime1 = Stopwatch.GetTimestamp();
            Console.WriteLine("time1 took: " + (endTime1 - beginTime1));
            Assert.AreEqual("79", value);
        }

        [TestMethod]
        public void TestMemoryInterface()
        {
            string jsonData = @"{
            ""person"": {
                ""firstName"": ""Super"",
                ""lastName"": ""man"",
                ""age"" : 79 
                }
            }";

            JsonNode token = JsonNode.Parse(jsonData);

            var memory = new JsonNodeMemory(token);
            var (value, error) = new ValueExpression("${string(person.age)}").TryGetValue(memory);
            Assert.AreEqual("79", value);
        }

        [TestMethod]
        public void TestMemoryInterfaceWithDollarData()
        {
            string jsonData = @"{
            ""person"": {
                ""firstName"": ""Andrew"",
                ""lastName"": ""Leader""
              }
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            var memory = new JsonNodeMemory(token);
            memory.SetValue("$data", token);
            var (value, error) = new ValueExpression("${$data.person.firstName}").TryGetValue(memory);
            Assert.AreEqual("Andrew", value);
        }

        [TestMethod]
        public void TestMemoryInterfaceJValue()
        {
            JsonValue jval = JsonValue.Create("a");
            JsonNode jobj = new JsonObject();
            jobj["$data"] = jval;

            var memory = new JsonNodeMemory(jobj);
            var (value, error) = new ValueExpression("${$data}").TryGetValue(memory);
            Assert.AreEqual("a", value);
        }

        [TestMethod]
        public void TestArrayTyepMemoryInterfaceWithDollarData()
        {
            string jsonData = @"{
            ""person"":[""Andrew"", ""Leader""]
            }";

            JsonNode token = JsonNode.Parse(jsonData);
            var memory = new JsonNodeMemory(token);
            memory.SetValue("$data", token);
            var (value, error) = new ValueExpression("${$data.person}").TryGetValue(memory);
            Assert.AreEqual("Andrew", JsonNode.Parse(value as string)[0].ToString());
        }

        [TestMethod]
        public void TestCustomFunction()
        {
            string jsonTemplate = @"{
                ""type"": ""AdaptiveCard"",
                ""version"": ""1.0"",
                ""body"": [{
                    ""type"": ""TextBlock"",
                    ""text"": ""${stringFormat(strings.myName, person.firstName, person.lastName)}""
                }]
            }";
            string jsonData = @"{
                ""strings"": {
                    ""myName"": ""My name is {0} {1}""
                },
                ""person"": {
                    ""firstName"": ""Andrew"",
                    ""lastName"": ""Leader""
                }
            }";
            AdaptiveCardTemplate transformer = new AdaptiveCardTemplate(jsonTemplate);
            var context = new EvaluationContext
            {
                RootJson = jsonData
            };
            Expression.Functions.Add("stringFormat", (args) =>
            {
                string formattedString = "";

                if (args[0] != null && args[1] != null && args[2] != null) 
                {
                    string format = args[0];
                    string[] stringArguments = {args[1], args[2] };
                    formattedString = string.Format(format, stringArguments);
                }
                return formattedString;
            });//, new ExpressionEvaluator(null, StringFormat, ReturnType.String));
            string cardJson = transformer.Expand(context);
            Test.TestTemplate.AssertJsonEqual(@"{
                ""type"": ""AdaptiveCard"",
                ""version"": ""1.0"",
                ""body"": [{
                    ""type"": ""TextBlock"",
                    ""text"": ""My name is Andrew Leader""
                }]
            }", cardJson);
        }
    }


    [JsonSerializable(typeof(TestTemplate.Data))]
    [JsonSerializable(typeof(TestTemplate.Data2))]
    internal partial class TestSerializerContext : JsonSerializerContext
    {

    }
}
